- masashinakata
- 843
- 1
- 0
- 0
beet
@beet_aizu
Modulo Queries、セグ木を1000本作ってk>1000の時はRangeCountTree上の二分探索をした(意味不明(986 ms csacademy.com/submission/148…
2018-04-06 02:05:33
agw
@masashinakata
Cが全く意味不明で酸欠になりそうだったけど、D解けてよかった。基本的には尺取り + std::setでやったんだけど、こういう相当ネチっこい尺取りが解けたのはかなり嬉しい♫
2018-04-06 02:07:15
有為
@uwitenpen
Fは超簡単で、P[y]=tと決め打つと、[(t-1)/2](t-2)!/(t-2-(y-1))!*(n-y-1)!になって、[(t-1)/2](t-2)!たちと1/1!,1/2!,..たちを畳み込みするとすべてのyについて求まる
2018-04-06 02:07:44
satanic@研究💪
@satanic0258
CSA A:1秒ごとにシミュレーション B:自分の行き先の結果をもらうメモ化再帰 C:(d,v,i)と(d,v-y,i)の2列をそれぞれ時間順(分母は払う)でソートし,前者へ(d,v+x,i)を挿入する位置p1,後者へ(d,v,i)を挿入する位置p2をそれぞれにぶたんしmin(p1,p2)を答える (→)
2018-04-06 02:08:55
satanic@研究💪
@satanic0258
(→) D:pairを持つ2つの昇順priority_queue(時間,i),(i,残り充電量)を用意し,現在時刻から(今見てる車の残り充電量),(次に来る車まで時間)の小さい方の操作をする E:マージソートの過程を残しておいて,B=300くらいでk<Bのときは各kでの記録をメモしRMQ,k>=Bのときは被覆する各列でkの倍数をにぶたん
2018-04-06 02:10:07
有為
@uwitenpen
E, ブロックに分けて、ブロックごとに1~40000であまりとったときの最大値が分かればよく、1~200は普通にやって、残りは200個のポインタを動かしてO(n√(nlog n))くらい (ひどい)
2018-04-06 02:10:33