torus711 のアレ

主に競技プログラミングの問題について書きます.PC 以外だと数式が表示されないかもしれないです

AtCoder Beginner Contest 346, D : Gomamayo Sequence

問題概要

 $n$ 項からなるバイナリ列 $S = \langle S_1, S_2, \dots, S_n \rangle$ ($S_i \in \{ 0, 1 \}$) が与えられる.$S$ に対し,次の操作を任意回適用できる.

  • コスト $C_i$ かけて $S_i$ を反転する.

 $S$ の添字 $i$ ($1 \leq i < n$) であって,$S_i = S_{ i + 1 }$ となるものが丁度ひとつであるようにするためにかかるコストの最小値はいくらか?

制約

  • $2 \leq n \leq 2 \times 10^5$
  • $1 \leq C_i \leq 10^9$
続きを読む

AtCoder Beginner Contest 346, C : Σ

問題概要

 $n$ 項からなる正整数列 $A = \langle A_1, A_2, \dots, A_n \rangle$ と正整数 $k$ が与えられる.
 $1$ 以上 $k$ 以下の整数の内,$A$ に含まれないものの和はいくらか?

制約

  • $1 \leq n \leq 2 \times 10^5$
  • $1 \leq k \leq 2 \times 10^9$
  • $1 \leq A_i \leq 2 \times 10^9$
続きを読む

AtCoder Beginner Contest 345, C : One Time Swap

問題概要

 文字列 $S$ が与えられる.$S$ に対し,$S$ の添字 $i, j$ ($1 \leq i < j \leq |S|$) を選び,$S_i$ と $S_j$ を入れ替える操作をちょうど $1$ 回行う.この操作によって作られる文字列は何種類あるか?

制約

  • $1 \leq |S| \leq 10^6$
  • $S_i \in \mathcal C$

 ここで,$\mathcal C$ はすべての英小文字からなる集合とする.

続きを読む

AtCoder Beginner Contest 345, D : Tiling

問題概要

 $1 \times 1$ のセルからなる $h \times w$ のグリッド状の盤面と $n$ 枚のタイルがあり,タイル $i$ は $A_i \times B_i$ の長方形状である.
 各タイルについて,グリッドに沿い,かつ盤面からはみ出さない範囲で自由に位置と向きを決めてグリッドに配位することができる(配置しなくてもよい).
 グリッドのすべてのセルがちょうど $1$ 枚のタイルに被覆されている状態にできるか?

制約

  • $1 \leq n \leq 7$
  • $1 \leq h, w \leq 10$
  • $1 \leq A_i, B_i \leq 10$
続きを読む

AtCoder Beginner Contest 344, D : String Bags

問題概要

 文字列の列が $n$ 個与えられる.$i$ ($1 \leq i \leq n$) 番目の列は $S_i = \langle S_{ i, 1 }, S_{ i, 2 }, \dots, S_{ i, A_i } \rangle$ である.
 ここで,次の処理を行う.

  1. 変数 $S$ を用意し,$S \leftarrow \epsilon$ とする*1
  2. $i = 1, 2, \dots, n$ について,順に次の処理を行う.
    1. 次の 2 つの内,いずれかを行う.
      1. 次の処理を行う.
        1. 整数 $j$ ($1 \leq j \leq A_i$) を選ぶ.
        2. $S \leftarrow S + S_{ i, j }$ とする.
      2. 何もしない.

 操作終了後の $S$ を与えられる文字列 $T$ に一致させるとき,$S$ に代入する操作の回数の最小値はいくらか? 不可能な場合はそのことを報告せよ.

制約

  • $1 \leq n, |T| \leq 100$
  • $1 \leq A_i, | S_{ i, j } | \leq 10$

*1:ここで,$\epsilon$ は空文字列を表す.

続きを読む