- masashinakata
- 584
- 0
- 0
- 0
うし
@ei1333
CSA A. うんうん B. 雰囲気でね競技プログラミングをね C. 下三桁を虚無うく全探索して、もうバグはありましぇんをします D. BITでえい、転倒数を数えるイメージをするとうしし E. なにもわからないねね、悲しいね
2017-09-14 02:00:32
とーらす🌸📦🌕✨🍀
@torus711
やったこと A: 総和とって足したものを比較 B: 最初が 0 だったことにしてシミュレートしてから,最小値を引くと合う
2017-09-14 02:03:27
とーらす🌸📦🌕✨🍀
@torus711
やったこと C: 下三桁が合ってればいいので,ここは全部試す.残りの桁は,小さいものから順に上に詰める.leading zero がある場合は上の方で swap .これだと 8 で割れる保証が無いけど,どうせ線形時間かかってるので普通にチェックする
2017-09-14 02:03:34
とーらす🌸📦🌕✨🍀
@torus711
やったこと D: 左の点から見ていくと,同じ X 座標からは高々一つ,Y 座標は狭義単調増加になるように点を選んでいくことになる.最後に選んだ Y 座標をキーにする DP を考えると区間和か区間加算が出てくるので,そういう Segment Tree に乗せると速くなって間に合う
2017-09-14 02:05:27
kmjp
@kmjp_pc
Eは有向グラフのオイラーパスライブラリを持っていなかったので、Spagetti Sourceを参考に無向グラフ版を改造してた。これで最速だったのはちょっと意外。
2017-09-14 02:08:31
kuuso
@kuuso1
Dはdp[now]:nowが最も右下になる集合の数:をY座標の大きい方から埋めていく.BIT使う. まさかのBIT内のmodの取り間違いで1WA.
2017-09-14 02:09:17