torus711 のアレ

torus711 のアレ

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

AtCoder Beginner Contest 381, D : 1122 Substring

問題概要

 $n$ 項からなる正整数列 $A = \langle A_1, A_2, \dots, A_n \rangle$ が与えられる.$A$ の連続部分列 $X$ であって,以下の条件を(すべて)満たすものの内で最長なものの長さを求めよ:

  • $|X| \bmod 2 = 0$
  • $\forall i \in \left[ 1, \frac { |X| } 2 \right], X_{ 2 i - 1 } = X_{ 2 i }$
  • $X$ に含まれる要素の $X$ での出現回数はちょうど $2$

制約

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

AtCoder Beginner Contest 380, E : 1D Bucket Tool

問題概要

 $1$ から $n$ の整数で番号付けられたセルがあり,セル $i$ とセル $i + 1$ ($1 \leq i < n$) は隣接している.各セル $i$ は色 $i$ で塗られている.
 以下の 2 種類のクエリが $q$ 個与えられるので,順に処理せよ:

  • クエリ $1$ : 整数 $x, c$ が与えられる.セル $x$ から始めて同色で塗られたセルへの移動を繰り返して到達できるセルすべてを色 $c$ で塗り替える.
  • クエリ $2$ : 整数 $c$ が与えられる.色 $c$ で塗られたセルの個数を答える.

制約

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

AtCoder Beginner Contest 380, D : Strange Mirroring

問題概要

 英小文字からなる文字列 $S$ が与えられる.$S$ に対し,以下の操作を十分大きい回数繰り返し適用する:

  1. $S$ の大文字・小文字を反転した文字列を $T$ とする.
  2. $S \leftarrow S + T$ とする.

 $q$ 個の整数 $K_1, K_2, \dots, K_q$ が与えられる.各 $K_i$ に対し,$S_k$ を求めよ.

制約

  • $|S| \leq 2 \times 10^5$
  • $1 \leq q \leq 2 \times 10^5$
  • $1 \leq K_i \leq 10^{ 18 }$
続きを読む

AtCoder Beginner Contest 380, F : Exchange Game

問題概要

 以下のような二人ゲームをする.
 ゲームには整数が書かれた $n + n + m $ 枚のカードを用いる.ゲーム開始時,先攻プレイヤーは $A_1, A_2, \dots, A_n$ が書かれた $n$ 枚のカードを持っており,後攻プレイヤーは $B_1, B_2, \dots, B_m $ が書かれた $m $ 枚のカードを持っている.また,場には $C_1, C_2, \dots, C_l$ が書かれた $l$ 枚のカードが置かれている.なお,すべての情報はゲーム中公開されている.
 両プレイヤーは交互に手番をとる.各プレイヤーは自分のターンに次を行う:

  1. 自分の手札のカードを $1$ 枚選び,場に出す.
  2. 1. で場に出したカードに書かれた数より小さい数が書かれたカードが場にあれば,それを手札に加えてもよい.

 行動できないプレイヤー(手札が無いプレイヤー)は敗北し,他方の勝利となる.両プレイヤーが最適に行動した場合の勝者を求めよ.

制約

  • $1 \leq n, m, l$
  • $n + m + l \leq 12$
続きを読む

AtCoder Beginner Contest 379, E : Sum of All Substrings

問題概要

 $1$ 以上 $9$ 以下の整数を表す数字のみからなる長さ $n$ の文字列 $S$ ($|S| = n$) が与えられる.
 文字列 $S$ の $l$ 文字目から $r$ 文字目までの部分文字列を $S[ l, r ]$ と書くことにし,数字のみからなる文字列をそれを通常の方法で読んだときに解釈される正整数に写す関数を $f$ とする.以下を求めよ:
\begin{equation*}
\sum_{ i = 1 }^n \sum_{ j = i }^n f( i, j )
\end{equation*}

制約

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