mini notes

競技プログラミングの解法メモを残していきます。

2020-04-29から1日間の記事一覧

yukicoder No.995 タピオカオイシクナーレ(★2.5)

問題:No.995 タピオカオイシクナーレ - yukicoder 解答:#472646 (C++14) No.995 タピオカオイシクナーレ - yukicoder 解法: Xi:i回目のパワー後にミルクティーにいる確率、Yi:i回目のパワー後にキッチンにいる確率とすると Xi+1 = Xi * (1 - p/q) + Yi …

yukicoder No.909 たぴの配置(★2)

問題:No.909 たぴの配置 - yukicoder 解答:#472634 (C++14) No.909 たぴの配置 - yukicoder 解答:mn = min(xi + yi)とすると、0番めのたぴは座標0、N+2番目のたぴは座標mnに置くことができる。 このとき、i番目のたぴはmax(mn - yi, 0)に置くとよい。これ…

yukicoder No.921 ずんだアロー(★2)

問題:No.921 ずんだアロー - yukicoder 解答①:#472427 (C++14) No.921 ずんだアロー - yukicoder 解答②:#472421 (C++14) No.921 ずんだアロー - yukicoder 解法: ①dp[i][j]:i番目の項までで i=0⇒前の項がずんだ餅でないときのずんだ餅の個数の最大値 i=…

yukicoder No.1011 Infinite Stairs (★2.5)

問題:No.1011 Infinite Stairs - yukicoder 解答:#472406 (C++14) No.1011 Infinite Stairs - yukicoder 解法:dp[i][j]:i回目の移動でj段目にいる通り数とする。 dp[i][j]はd[i]の最大d個の累積和になるが、累積和はj-1の計算結果を使いまわしてO(1)で計…

yukicoder No.929 よくあるボールを移動するやつ(★2)

問題:No.929 よくあるボールを移動するやつ - yukicoder 解答:#472383 (C++14) No.929 よくあるボールを移動するやつ - yukicoder 解法:b[i] = 0であるiを覚えておくキュー(zero)とb[i] >= 2であるiを覚えておくキュー(pos)を準備しておく。また、解答変…

ABC164 E - Two Currencies(500)

問題:E - Two Currencies 解答:Submission #12471668 - AtCoder Beginner Contest 164 解法:dp[v][s]を「頂点vに銀貨s枚で到達するときの最短時間」とし、ダイクストラする。(拡張ダイクストラ) 辺自体は最初に与えられた(v, a, b) = (行き先の頂点、辺…