torus711 のアレ

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

AtCoder Beginner Contest 342, E : Last Train

問題概要

 $1$ から $n$ で番号付けられた $n$ 個の駅があり,$m $ 種類の路線が運行されている.各路線は 6 個の整数 $l, d, k, c, a, b$ *1で説明され,その意味は,

  • 駅 $u$ から駅 $v$ へ向かう路線は,
  • 始発が時刻 $l$ であり,
  • $d$ 分間隔で出発し,
  • $k$ 本運行され,
  • $c$ 分で目的地に到着する.

である.
 駅 $s$ から駅 $n$ に到達できる時刻の内最遅のものを $f( s )$ で表す.到達できない場合は $-\infty$ と定義する.
 $f( 1 ), f( 2 ), \dots, f( n - 1 )$ を求めよ.

制約

  • $2 \leq n \leq 2 \times 10^5$
  • $1 \leq m \leq 2 \times 10^5$
  • $1 \leq l, d, k, c \leq 10^9$

*1:書くのが面倒だったので端折っていますが,正確には添字が付きます.原文参照のこと.

続きを読む

AtCoder Beginner Contest 342, D : Square Pair

問題概要

 $n$ 項からなる非負自然数の列 $\langle A_1, A_2, \dots, A_n \rangle$ が与えられる.以下の条件を満たす順序対 $( i, j )$ はいくつあるか?

  • $1 \leq i < j \leq n$
  • $A_i A_j$ は平方数

制約

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

AtCoder Beginner Contest 341, D : Only one of two

問題概要

 正整数 $n, m, k$ ($n \neq m $) が与えられる.正整数であって,$n, m $ のどちらか一方でのみ割り切れる数の内,小さい方から $k$ 番目のものを求めよ.

制約

  • $1 \leq n, m \leq 10^8$
  • $1 \leq k \leq 10^{ 10 }$
  • $n \neq m $
続きを読む

AtCoder Beginner Contest 341, E : Alternating String

問題概要

 $0$ と $1$ からなる $n$ 要素の列 $S = S_1, S_2, \dots S_n$ ($S_i \in { 0, 1 }$) が与えられる.クエリが $q$ 個与えられるので,順に処理せよ.クエリは以下の 2 種類からなる:

  • $( 1, l, r )$ : $l \leq i \leq r$ なる $i$ について,$$S_i \leftarrow 1 - S_i$$ と更新する*1
  • $( 2, l, r )$ : $l \leq i < r$ なる任意の $i$ について $$S_i \neq S_{ i + 1 }$$ かどうか判定する.

制約

  • $1 \leq n, q \leq 5 \times 10^5$

*1:$0$ と $1$ を反転する.

続きを読む

AtCoder Beginner Contest 341, F : Breakdown

問題概要

 $n$ 頂点 $m $ 辺からなるグラフ $G = ( V, E )$ がある.ここで,$\forall u, ( u, u ) \not \in E$ かつ $( u, v ) \in E \Leftrightarrow ( v, u ) \in E$ である(i.e., $G$ は単純無向グラフである).頂点 $u \in V$ には正整数 $W_u$ が紐付けられており,また,$A_u$ 個の駒が置かれている.
 $G$ の頂点 $u \in V$ に対し,open neighbor $N( u )$ を
\begin{equation*}
N( u ) = \{ v \mid ( u, v ) \in E \}
\end{equation*}
で定義する*1
 駒が置かれている頂点が存在する限り,次の操作を繰り返す:

  1. $1$ つ以上の駒が置かれている頂点を選び,それを $x$ とする.
  2. $x$ から駒を $1$ つ取り除く.
  3. $N( x )$ の部分集合 $S \subseteq N( x )$ であって,$$\sum\limits_{ u \in S } W_u < W_x$$ なものを選ぶ.
  4. $S$ に含まれる頂点それぞれについて,新たな駒を $1$ つ置く.

 最大で何回の操作を行えるか? なお,無限回の操作を行うことはできない.

制約

  • $2 \leq n \leq 5 \times 10^3$
  • $1 \leq m \leq \min\left( \frac { n ( n - 1 ) } 2, 5 \times 10^3 \right)$
  • $1 \leq W_u \leq 5 \times 10^3$
  • $0 \leq A_u \leq 10^9$

*1:要するに隣接している頂点の集合.

続きを読む