Growth Record of Lettuce Farm

競プロの記録・解説をします

AtCoder Beginner Contest 198 E - Unique Color 解説

最近似た問題を見ていたのでその解説を見て難しい解法にハマりました。

Editorial と同じ解法と、自分の解法を両方紹介します。

問題リンク

https://atcoder.jp/contests/abc198/tasks/abc198_e

問題概要

N 頂点の木が与えられます。頂点 i は色 C_i で塗られています。

頂点 1 から x への最短パスに色 C_x が頂点 x 以外に現れないような頂点を良い頂点と呼びます。良い頂点を列挙してください。

制約

  • 2\le N\le 10^5
  • 1\le C_i\le 10^5
  • 与えられるグラフは木
続きを読む

AtCoder 黄色になりました

お久しぶりです。れたすです。

今回はこの通り、AtCoder 黄色になったので、そのご報告とか色々をいたします。

  • 前回 (AtCoder 青色・その他) の色変記事
  • 色変報告
  • AtCoder 黄色になるまでにやったこと
    • 精進記録
    • 身につけたアルゴリズム・データ構造
      • 何の迷いもなく書ける・使えるようになった
      • 調べたら使える・ちょっと苦労するけど書ける程度
      • あまり理解していない
  • 青のときから変わったこと
  • おわりに
続きを読む

AtCoder Regular Contest 114 C - Sequence Scores 解説

解説記事を書くのはかなりお久しぶりになってしまいました。

問題リンク

https://atcoder.jp/contests/arc114/tasks/arc114_c

問題概要

1 以上 M 以下の整数からなる長さ N の数列 A に対して、f(A) を以下のように定義します。

  • 長さ N の数列 X があり、初め全ての要素は 0 である。f(A) を、次の操作を繰り返して XA に等しくするために必要な最小の操作回数とする。

    • 1\le l\le r\le N1\le v\le M を指定する。1\le i\le r に対して X_i\max(X_i,\ v) で置き換える。

全ての A に対する f(A) の和を \bmod 998244353 で求めてください。

制約

  • 1\le N,\ M\le 5000
続きを読む

AtCoder Beginner Contest 190 D - Staircase Sequences 解説

ABC 反省文シリーズ。

問題リンク

https://atcoder.jp/contests/abc190/tasks/abc190_d

問題概要

整数からなる公差 1 の等差数列のうち、総和が N であるものはいくつあるでしょうか?

制約

  • 1\le N \le 10^{12}
続きを読む

AtCoder Beginner Contest 189 F - Sugoroku2

ABC 反省文シリーズです。

問題リンク

https://atcoder.jp/contests/abc189/tasks/abc189_f

問題概要

マス 0 から始めてマス N を目指す双六があります。高橋くんは 1 から M までの目が出るルーレットを回して進みます。また、この双六のマス A_i\ (i=1,\ 2,\ ,\dots,\ K) は振り出しに戻るマスで、そこに止まるとマス 0 に戻されます。

高橋くんがマス N より先に着きゴールするまでにルーレットを回す回数の期待値を求めてください。到達不可能ならその旨を報告してください。

制約

  • 1\le N,\ M\le 10^5
  • 0\le K\le 10
  • 0\lt A_1\lt \dots\lt A_K\lt N
続きを読む

AtCoder Regular Contest 071 F - Infinite Sequence 解説

解きました。公式解説や有志の解説ブログを見ても自分と同じような考え方の人がいなかったので解説ブログを書きます。

問題リンク

https://atcoder.jp/contests/arc071/tasks/arc071_d

問題概要

1,\ 2,\ 3,\ \dots,\ n からなる無限長の数列 a_1,\ a_2,\ \dots のうち、次の条件を満たすものの個数を答えてください。

  • a_n=a_{n+1}=\dots
  • すべての a_i について、a_{i+1}=a_{i+2}=\dots=a_{i+a_i}

制約

  • 1\le n\le 10^6
続きを読む