けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

特殊なmod

AtCoder ARC 104 D - Multiset Mean (黄色, 700 点)

すごく NTT したくなる 問題へのリンク 問題概要 正の整数 が与えられる。 をそれぞれ 個以上 個以下とってくる方法のうち、平均が となるものの個数を素数 で割ったあまりを、各 に対して求めよ。 制約 考えたこと まず、平均制約を次のように言い換える。…

AtCoder AGC 043 D - Merge Triplets (橙色, 1200 点)

めちゃくちゃ楽しかった 問題へのリンク 問題概要 長さ の数列を 個用意する。ただしこれらのなす 個の値は が 1 個ずつ登場するようにする。これらの数列から以下の操作を繰り返して、長さ の順列を作る。 空にならずに残っている数列のうち、先頭の要素の…

AtCoder ABC 129 F - Takahashi's Basics in Education and Learning (橙色, 600 点)

重たい。。。 でも例えば行列 に対して の計算を行列累乗に帰着させるテクニックは、蟻本中級編の行列累乗のところに載っていたりする。それを膨らませると みたいな計算も、行列累乗でできそうという気持ちには確かになるよね。。。(なったけど昨日間に合わ…

AtCoder ARC 096 E - Everything on It (赤色, 900 点)

部分点がなければ CE 2 完でも赤パフォ出たのに... それはともかく、この手の包除で絶対に解けるという安定感をもって解けるようになりたい! 問題へのリンク 問題概要 ラーメンに 種類のトッピングを自由に組み合わせて乗せることができます。トッピングの…

AtCoder ARC 012 D - Don't worry. Be Together (赤色)

経路数に帰着して頑張って二項係数計算するところは面白かった! そのあとの任意 mod の二項係数処理は、今の AtCoder ではあまり出なさそうかな。 問題へのリンク 問題概要 個の座標 についての以下の値 を積算した値を で割ったあまりを求めよ。 原点から…

AtCoder AGC 005 D - ~K Perm Counting (赤色, 900 点)

包除原理勉強会の一環。なんか最初、0〜N-1 を 2K で割った余りで類別したところで鎖を作って、そこでのサイズ i のマッチングの個数を数えたりしたのだけど、それをマージするのに NTT を使うとか血迷った^^; https://beta.atcoder.jp/contests/agc005/subm…