AtCoder, 実装

問題方針

現在 \( y \) 行 \( x \) 列にいるとします。このとき、境界を超えるような方向は反転されます。

コード感想

境界を超えるときの座標の修正を最後に行うのではなく、境界を超えた時に行うことに注意します。

Codeforces, 動的計画法, 累積和

問題

数字列 \( n \) の部分列を取り除いて得られる整数の総和と求めます。

方針部分列について

自然数 \( l \) を \( l = |n| \) とします。ここで、総和に対する \( i \) 文字目の整数 \( ...

yukicoder, 動的計画法

問題方針後ろから考える

マス \( x \) にいるとき、ゲームオーバーマスのマスペアが \(( x + 1, x + 6) \) または \( (x + 2, x + 5) \) または \( ( x + 3, x + 4) \) に ...

yukicoder, 数学, 貪欲法

問題方針

\( 2A \leq B \) のとき、\( A \leftarrow 2A \) と可能な限り更新します。このとき、\( A \) は \(2^nA \leq B\) を満たす最大の非負整数 \( n \) を用いて、

yukicoder, ゲーム問題

問題方針

\( K \geq N – 1 \) のときは先手必勝です。最終的に \( N – 1 \) を言うことができれば勝ちです。ここで、後手が言うことができる数字を考えます。先手がどのような数字を言ったとし ...

AtCoder, 貪欲法

問題方針

カードの種類を \( m \) とします。このとき、残ったカードを \( m \) 枚にするためには、\( N – m \) 枚のカードを取り除かなければいけません。\( 1 \) 回の操作で取り除かれるカードは ...

Codeforces, 動的計画法

問題方針

泥棒 \( i \) の座標は \(( a_i, b_i) \) であり、サーチライト \( j \) の座標は \( (c_j, d_j) \) です。 泥棒の座標を \( ( a_i + t, b_i) \) と移動したと ...

Codeforces, 数え上げ, 累積和, 貪欲法

問題方針

AGC 023 A – Zero-Sum Ranges と似ている問題です。\( s \) を \( a \) の累積和として、

\

とします。また、\( s_0 = 0 \) です。ある部 ...

Codeforces, 数学, 貪欲法

問題方針

\( i \) 回目の操作後の数列の総和を \( s_i \)、数列の最大値を \( b_i \) とすると、

\

となるので、先にインクリメントしてからコピーする方が最適だと考えられます。ここで、イン ...

AtCoder, セグメント木, 動的計画法

問題方針

最長増加部分列を解くような感じで解けるみたいですが、あまり理解できませんでした。

まず初めに、\( A_i \leftarrow A_i + K \) と再定義します。ここで、\( d(i) \) を末尾が \( ...