Naomi's notebook

Naomi's notebook

典型

☆ナップサック(diverta 2019 Programming Contest 2D - Squirrel Merchant)

まだ500が全部埋まったわけではないんですが、典型問題っぽい600が解けるとうれしいなあみたいな気持ちになったりすることが多い(500以下は発想問題であることも多い)ので、コンテスト中に糸口はつかめていたものの解ききれなかった問題を中心に600もたま…

DP(AGC023B - Find Symmetries)

atcoder.jp少し時間かかりめだったけど自分で綺麗なものを思いついてよかった。 解法 計算量的にN^3 ここで、A ケアレスミス 数字を読み込んだ後まだ改行が残っているため、一度無駄に読み込まないと次に読む文字が改行文字になってしまう。 コード #include<cstdio></cstdio>…

☆二項係数(ABC127E - Cell Distance)

atcoder.jp時間内にこれを解き終わらず、さらにDでミスったため激冷えし冷め冷めになってしまった一回。リベンジしていきたいと思います。 まず、式をXとY独立に考えていいというところまでは誰でも思いつくと思います。 ABC途中の考察では色々めんどくさい…

gcd(C - GCD on Blackboard)

atcoder.jp これは300点問題なんだけど、なんか話題になっていたのでまずユークリッドの互除法でgcdを求めるコードを書いておく。これの計算量はラメの定理により十進法での桁数くらいらしいですね(知らなかった)、すごい。まず、書き換える時は10^9以下な…

しゃくとり法の条件(ARC098D - Xor Sum 2 )

atcoder.jpXor出てきたばっかりだ いらなかった考察 まず準備としてを求めておく。これによって区間の和が定数時間で求められる。 この前の問題 でも見たように、xorの歩けたが1になる組み合わせはlogNで見つけられるんだよな…でもたし算の組みだけでも網羅…

累積和、いもす法(ARC089D - Checker)

atcoder.jpまず、市松模様を並行移動していくと、縦横それぞれKずつ動かした時に塗り方としては全く同じになる。また、2Kのマスをとると完全に繰り返しになるので、座標は2Kで割った余りにして良い。 白に塗るマスの指定はどちらか方向にKずらすことで黒く塗…