E
解けません,全然解けません,おわりです
D
問題の理解が大変
とりあえず最小値を求めないといけない
→AGCで無向木の意味不明な性質を求められたらとりあえず直径に注目しろという法則があり
→(直径+1)/2色は絶対必要なことがわかる
→なので(直径+1)/2色で塗り分けられることがわかる(理由: AGC)
最小値は求まったので(求まったとは?)葉の個数を数えればいい
→よくわからないよくわからない
→サンプルを実際に書いて眺める
→なんか深さiはa_i分木みたいなのを作る?
→ちょうど答えがいい感じのサイズ(250)になったので,正しい(強気)
F
読解が大変
→高速ゼータ変換部分列版をしろという問題
→高速ゼータ変換を一般化した論文があるんですが,それだとうまくいかない
→そもそも何がしたいのか?
→文字列が1個あったとき,部分列を1回ずつ列挙する方法は?(ここで経由する状態がシンプルだといい)
→普通に先頭から0か1をとっていけばいいですね
→AC
A
A問題なのにサンプルの出力にUnfairが無いため,Unfairを出力することはない
とりあえず適当に手で試す
→ああ-1倍されるのか
→AC
B
AtCoderでこれと似たような問題で,残すやつに注目するとLISという問題があったはず
→残すやつに注目すると?
→ああ単調増加
→AC
C
二次元平面(X: i, Y: a_i)を想像する
→階段がはやせる,階段しかはやせない
→階段をはやして数列を作れるか?
→a[i]より2以上a[i+1]の方が大きかったらダメ,あとa_1 != 0でもダメ(こっちはサンプルからわかる)
→これを満たしていれば作れる,作り方も自然なので数えるのは簡単
→AC