原案:井上
解答:井上・鈴木
解説:青木
2015/03
立命館大学競技プロブラミング合宿
Day3 F
1

 長さDの整数列 x_1, x_2, …, x_Dが与えられる
 1 <= D <= 10^5
 -10^8 <= xj <= 10^8
 クエリ(li, ri, ei)にQ回答える
 1 <= Q <= 10^5
 1 <= li <= ri <= D
 0 <= ei <= 10^8
 クエリ
 ai = min(x_li, x_ri), bi = max(x_li, x_ri)
 x_j < ai – ei または bi + ei < x_j を満たすような j の個数
を返す
 li <= j <= rj
問題概要
2015/03
立命館大学競技プロブラミング合宿
Day3 F
2

2015/03
立命館大学競技プロブラミング合宿
Day3 F
3
問題概要
l r
e
e
外れ値
i
xi
3つ

 愚直に解く
2015/03
立命館大学競技プロブラミング合宿
Day3 F
4
想定誤解法
for (int i=0; i<Q; i++) {
cin >> l >> r >> e;
int L = min(x[l], x[r]) – e;
int U = max(x[l], x[r]) + e;
int res = 0;
for (int j=l; j<=r; j++)
if (x[j] < L || U < x[j])
res ++;
cout << res << endl;
}

クエリ (l, r, e)
2015/03
立命館大学競技プロブラミング合宿
Day3 F
5
l r
i
L = min(x[l], x[r]) – e;
U = max(x[l], x[r]) + e;
L
U
Lより小さい要素とUより大きい要素を数える
範囲内の全体の要素数から、L以上U以下の要
素を除くと求まる
U以下の要素数から、Lより小さい要素数を除
くとも求まる
L以上U以下の要素数
クエリ (l, r, e)
区間[a : b]中の値 v 以下の要素数
を求めるクエリ

 クエリ処理の順番は自由
 vの小さいクエリから処理
 小さい順にxiをプロット
していくようにする
 v以下の要素数を求める
ときには、v以下のxiし
か使われていない
 i番目より前の要素の数に
ついての累積和をBITで
管理
2015/03
立命館大学競技プロブラミング合宿
Day3 F
6
v以下の要素数を求めるクエリ
i
xi

井上(c++):85行
鈴木(c++):97行
2015/03
立命館大学競技プロブラミング合宿
Day3 F
7
Writer解

First Accept
on-line: snukeさん (00:29)
on-site: iidxさん(01:14)
正答率 14/27 (51.85%)
2015/03
立命館大学競技プロブラミング合宿
Day3 F
8
提出状況

More Related Content

PDF
論文紹介-Multi-Objective Deep Reinforcement Learning
PDF
Donutsプロコンチャレンジ 2015 解説
PDF
Donuts プロコンチャレンジ2014
PDF
Recent Advances on Transfer Learning and Related Topics Ver.2
論文紹介-Multi-Objective Deep Reinforcement Learning
Donutsプロコンチャレンジ 2015 解説
Donuts プロコンチャレンジ2014
Recent Advances on Transfer Learning and Related Topics Ver.2

Similar to F editorial (20)

PDF
プログラミングコンテストでの乱択アルゴリズム
PDF
130323 slide all
PDF
Sec15 dynamic programming
PDF
JOI予選はランチの後で
PDF
ACPC 2017 Day3 F: 掛け算は楽しい
ZIP
JOI本選 夜店(NightMarket)解説
PDF
Divisor
PDF
CODE FESTIVAL 2015 予選B 解説
PPTX
CODE FESTIVAL 予選B 解説
PDF
AtCoder Beginner Contest 020 解説
PDF
Indeedなう A日程 解説
PPT
アルゴリズムイントロダクション15章 動的計画法
PPTX
Arc 010 d
PPTX
これならわかる最適化数学8章_動的計画法
PDF
1
PDF
AtCoder Beginner Contest 008 解説
プログラミングコンテストでの乱択アルゴリズム
130323 slide all
Sec15 dynamic programming
JOI予選はランチの後で
ACPC 2017 Day3 F: 掛け算は楽しい
JOI本選 夜店(NightMarket)解説
Divisor
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 予選B 解説
AtCoder Beginner Contest 020 解説
Indeedなう A日程 解説
アルゴリズムイントロダクション15章 動的計画法
Arc 010 d
これならわかる最適化数学8章_動的計画法
1
AtCoder Beginner Contest 008 解説
Ad

More from HCPC: 北海道大学競技プログラミングサークル (20)

PDF
ACPC 2019 Day3 F: 部分文字列分解
PDF
ACPC 2019 Day3 E: 総和の切り取り
PDF
HUPC 2019 Day1 F: グリッドの番号
PDF
HUPC 2019 Day1 E: 最短経路の復元
PDF
PDF
プログラミングコンテスト基礎テクニック
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 E: 総和の切り取り
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 E: 最短経路の復元
プログラミングコンテスト基礎テクニック
Ad

F editorial