精進4/4

実は引っ越しして一人暮らし始めたんですが、今日になってやっとwifi環境を用意出来たので、精進再開です。

http://codeforces.com/contest/959/problem/C 真ん中に2つ点がある木と、rootに全ての点が隣接している木を出力する。
http://codeforces.com/contest/959/problem/D エラトステネスの篩的なことをやる
http://codeforces.com/contest/959/problem/E 数式めんどい
http://codeforces.com/contest/959/problem/F 面白い。置換群のお話。集合Sの要素xについてx^aがSに属さなければ全てのxについてx^aがSに属さない。逆にあるxについてx^aがSに属せば全てのxについて成り立つ。これを使って愚直DPを高速化する。
https://beta.atcoder.jp/contests/arc085/tasks/arc085_b これも面白い。DPかなと思ったら全然違った。初手全取りすればコストはもちろんabs(W-An)、1つ残しはabs(An-1-An)となる。2つ以上残すのは実は意味がない。なぜなら後手は必ず値をabs(An-1-An)以下にできるからだ。
https://apc001.contest.atcoder.jp/tasks/apc001_d n要素の次数列がn頂点の木をなす<=>全ての次数が0以上であり和が2n-2であるを利用すれば簡単。
https://code-thanks-festival-2017-open.contest.atcoder.jp/tasks/code_thanks_festival_2017_g 脳内AC。半分全列挙
https://arc092.contest.atcoder.jp/tasks/arc092_b これ500じゃないよなぁ…bitの桁ごとに見るとlower_boundでまとめられることに気づく。