perarduaadastra

競技プログラミングとかをしています

AtCoder Regular Contest 131 反省

なんかあたたまった

 

結果を鑑みて

1200 29:46

298位。解かなきゃいけないのを解いてあったまった。Dさっさと捨ててもよかったかも。

 

A - Two Lucky Numbers

まあふたつ繋げればいいんじゃないか?とまず直観する。

A + B / 2 * 10^k

という形にした。2倍したときにAの部分が繰り上がるとまずいので間に0が挟まるように10の冪乗倍する。

 

通る。

 

B - Grid Repainting 4

4色定理?とか思ってた。

まあふつうにやって塗れそうなので塗る。通る。

 

この時点で100位くらい。

C - Zero XOR

xor battle に似てるなあと思った。

まず、初手で勝てる場合を先に処理した。

 

制約がでかいから基底とって何か考えるのかと思ったけど、基底の個数回はゲームが続きそう?とか思った。結局、基底の個数関係なくてN回続くかも、と思った。(ただのエスパー)

 

みんなすいすい通してるから、証明できていなかったが誘惑にあらがえず出すと通った。う〜ん。

 

D - AtArcher

明らかに、射った場所で一番中央に近いものを決定するとその後の射るべき場所は一意っぽかった。つまり、交差Dの等差数列になる。

どうせ単峰性あるだろ!→ない

 

これで1時間つかって、どうしようもなくなってE行った。

 

E - Christmas Wreath 

3で割って2余るやつはどう考えても無理。

5以下はだめそうで、6も手で解こうとしたけど無理になったからprint("No")してみた。

WAの数から、6以上の場合は3で割ってあまりが2以外なら全部構築可能なことがわかった。

 

6のときは無理やり全探索で構築できたので、そこに貪欲に頂点を足してみた。だめだった。

 

この時点でタイムアップ。

もう少し考えたいね。

 

 

 

総括

Cまではまあよかった。Dにさっさと見切りをつけてEに行くべきだったかもしれない。ムーブにケチつける部分があるとしたらそのくらいか。600点で未証明エスパーを投げるのは本来は良くないが、今回は順位表のこともあるからいいか。