ABC165 参加メモ
発想自体は思いつきやすいが、そこからちゃんと詰めて書けるのかというところを頑張るべきだった。躓きすぎて5ペナABCDE5完(91:40+25:00)
1974->1945(-29, Perf = 1642, 859th) 調子悪いにしたら激冷えにはならなかったなと思っている
A
そうだよなあ…b/k*bで位置が出てくるわけだからそれがA以上なら包含してるんだよなあ条件ミスって1WA
B
val += val / 100ですねなんか思いつけなかった
C
こういう組み合わせは仕切ると出てくる。すると最大でも くらいになるみたい
つまり全列挙してそれぞれポイントを計算すると くらい出てくる
D
とりあえず のときだけ考える見た感じ、 は とかにしておくと良さそう(それ以外は まで数を上げると だけ無条件に値が上昇するので最適解は の中にあることが分かる)
もう実は の上限は小さいので十分間に合うけど、実は答えは のときになっている。
理由は の解が のときと一致するからである。
あと言ってなかった のときは、 のときが一番大きいので、まとめると、
のときが答えである。
E
ダメな条件を列挙してみる とするともし だったら、 になっているので、 みたいになるようにやっていけばかぶらないで済みそう
実際、 という制約があるので頑張れば見つかりそう
差が奇数同士のものを集めると、例えば
1 6みたいに入れ子にする発想が出る。
2 5
3 4
同じように偶数もこの入れ子の隣とかに
7 11みたいにおいておくと、今の問題なら について解くことができた。
8 10
これをちゃんと一般化して解けば終わり
F
LISを1段階戻す操作が適切にできれば解ける。
木が分岐しているときはある一方を深さで進めて処理したときにもう一方をやるにはLISの状態をもとに戻してからやらなきゃいけない。
もとに戻すにはLISの挿入操作をする前に 挿入するところのもとのデータと位置さえ持っておいて、戻すときにそのデータに戻せば でできる。
適切に潜ったり戻ったりして、その際に操作を行えば、すべての についてサイズは求まるので で解けました。
感想
スムーズに行かなかったなあ、Fにたどり着く前に時間をかけすぎてしまったタイムスケジュールをきちんと組んで競プロに望んでいくのが好ましい。