Mo法
Codeforces
EducationalCodeforces
種類数
クエリ処理問題
番兵法
Mo法
BIT
平面走査
区間
操作:区間
各kに対して
データ構造
平方分割
操作:特定要素を先頭に持ってくる
操作:circular_shift
操作
最大値と最小値を求める
CodeforcesR2100
操作後の結果を求める問題
面白かった。 数列の区間に含まれる値の種類数を答えるクエリに素早く答える技術が必要になった。 問題へのリンク 問題概要 がこの順に並んでいる。ここから 回の操作を行う。 回目の走査は、 以上 以下の値 で表され 現在の順列のうち、値 を先頭にもってく…
Mo のアルゴリズムの練習第三弾!!!!! 問題へのリンク 問題概要 要素の整数列 が与えられる。以下の 個のクエリに答えよ: 数列の区間 [ ) 内について、各数値 について が何個出現しているかを として表して、 を求め、その総和を求めよ 制約 考えたこと…
Mo のアルゴリズムの練習第二弾。 問題へのリンク 問題概要 要素の整数列 が与えられる。以下の 個のクエリに答えよ: 数列の区間 [ ) 内に最も多く登場する値が、何回登場しているかを答えよ 制約 考えたこと Mo の練習第二弾。 最頻値の頻度を求めるのは、…
クエリ処理問題
平方分割
Mo法
区間
区間ソート
操作:区間
クエリ先読み
種類数
平面走査
BIT
イベントソート
データ構造テク:全体に反映させる値を別にもつ(遅延評価)
探索順序を工夫して解く
種類数クエリをマスターするぞ! 問題へのリンク 問題概要 要素の整数列 が与えられる。以下の 個のクエリに答えよ: 数列の区間 [ ) 内に何種類の整数があるかを答えよ 制約 解法 1: BIT (区間加算、1 点取得) まずは BIT を用いる方法から。 考えやすいよ…