Codeforces Round #710 (Div3)所感

codeforces.com

参加しました、1完かな(システス前なのでなんとも)
Div3は初めてなのでどんな感じかを見ようと思った(毎回同じことを言っています)
個人的な感覚だと難易度はABC<=Div3<=Div2<ARC<AGC/Div1だと思ってます
※英語が読めない分こどふぉは難しく感じます

A
m*((x%n==0?n:x%n)-1)+(x%n==0?x/n:(ll)(x/n)+1)
を出せばよい

 

B

死ぬほど問題文がわかりにくいですね
つまり、

長さNの文字列Sと整数Kが与えられる。
Sは'*'と'.'のみで構成されている。
以下の三つの条件に従い、'*'を'x'に変更していく。
・最初の'*'は'x'にする
・最後の'*'は'x'にする
・'x'と'x'の距離がKを超えてはならない
このとき、変更回数の最小値はいくつか?

どう見ても単純な全探索は不可能だということがわかります(2^50>10^15)
したがってDPでもするかということになりました
まず邪魔な左右の'.'を削ります
これ正攻法ではないと思いますがO(N)なので計算量には問題ないです
そうしたら数値inf(200)を用いて配列を作成
dp[i]の所持している値はiまでの最小変更回数です
まあなんやかんやでdp[n-1]を出力すればこっちの勝ちです


がWAでした、なぜ?がちで分かりません
あとできちんとeditorialは見ますが、それでも分からなかったら誰かに助けを請います

(追記)AC通りました、見たらforの条件文の右辺が変数だったためのようです
ただの馬鹿で笑う

C
これも文字列を弄るなどする問題っぽい感じでした
解けたかもしれませんが寝ました(眠いので)
展望

最近は二分探索などもやり出しました
着実に実力も上がっていると思うので、早く緑コーダーにさせてください
お願いします(←AtCoder社に懇願しています)