1/22 日記

ねむすぎ ねむねむにゃんこ

今日はなんかとても疲れていたけど、ぷらにゃのぎゅーで復活!

D - Alice&Brown (atcoder.jp)

一見難しそうに見えるけど、意外とそうでもない。

後手に必勝法があるとき、先手に毎回同じ状態(負け状態)で手を渡せる操作があることが言える。

負け状態を考えると、二つの山の石の数がどちらも0か1のときとなる。

ここから、二つの山の数の差が1以下という状態が負け状態と予想できる。

実際、山の石の数がどちらもNのとき、片方から2*i個取ってN-2*i, N+iとなり、多い方からまた2*i個とるとN-i, N-iとなって石の数の差は0で保存される。石の数がN, N+1のときも同様に示せる。

・yukicoder(Aのみ)

N, K, Hのうち最も大きいものをXとすると、条件から10^6*X≧Yが言える。

なので、Xの係数を0から10^6まで全探索する。

Xの係数をpとし、Y-p*X=cとすると、ax+by=cみたいな式が出てくる。

これは拡張ユークリッドの互除法を用いると一般解を求めることができる。

 

G、方針は合ってたみたいだからもう少し考えてみよう。