ABC265 参加記

速解きをしただけの人その2、F難しいよ~

23:13 5完 194位

え、70分温めてた人なの?

A Apple

一瞬「DPか?」と思うけど冷静になると3個ずつ買っていけばいい

3個買う時はもちろん安い方で

(AC 2:52)

 

B Explore

やることは単純で、ボーナス部屋に入ったら+、移動の時に-するのをシミュレーションするだけ

最初「≦」と「<」を間違えてたけど、サンプルに「1から2に移動できません」ってあったので確認したら気づいた、あぶないあぶない

(AC 6:52)

 

C Belt Conveyor

愚直にシミュレーションします

同じマスに2回きたら、結局同じルートを通るので無限に回ります

言うことあんまりないね

(AC 11:02)

 

D Iroha and Haiku (New ABC Edition)

初期ARCにあった問題のオマージュでエモい

全部正なのですごい考えやすい

値が3つあるんですが、1個の場合を考えてみればよいです

区間[l,r]の和がX -> sum[r] - sum[l-1] = X

の典型ですね

なので、sum[l-1]の値があるかどうか判定できればよいです

これを3回繰り返すだけです

累積和の値をsetに入れておくと割と簡単に書けます

(AC 14:59)

 

E Warp

とりあえずdp[x][y] := 座標(x,y)にいるときの通り数みたいなDPが思いつきます

ただ、すごく単純に考えると取りうる経路は3^N個あってやばそうな気がします

でも、選択肢1->2の順番で動くのと、選択肢2->1の順番で動くのでは到達地点は変わらないので、実は少なくなるかなとも思います

 

どのくらい通り数があるか考察してもいいんですが、愚直書くだけならすぐ&最後のサンプルがほぼ最悪ケースなので、とりあえず愚直を書いて遅かったら考えることにします

書きます.......1700msなのでM大きくてもギリギリなんとかなりそうです!

ちょっと怖いのでmod回数減らすとか小手先の高速化をして投げると通ります

やったね

 

(AC 23:13)

 

F Manhattan Cafe

制約と内容からいかにもDPっぽいです

ただ、dp[i][x][y] := i番目まで考えてdist(p,r) = xかつdist(q,r) = yを考えると重すぎる気がします

もうちょっと考えると、abs(p[i] - q[i])分のコストは必ずかかるのでここだけ決めればいいんじゃない?って思います

そうすると、残りは余った数をどっちかに動かすだけ...なんですが、動かしていい場所・動かしてはいけない場所(端っこじゃないなら動かせない)まで管理するとDPが爆発します

うーーーんと考えていると、コンテストが終わりましたかなしい

解説読むと斜め累積和...なるほど勉強になりました

 

(AC 間に合わず)

 

G 012 Inversion

なーんか見たことあるんだよねこれ、って言いながらPASTやABCを漁ってないな~となったら、ACL Practiceでした(完)

めんどくさいなーと思ってやってなかった...

 

総括

早解き黄色しかとれない