はじめに
こんにちは。Akagi_shrineです。
なぜか本番ではうまいこといかないのに、練習で調子がいいときとかありますよね。
今回unratedで遅刻で参加しましたが、4冠できました。やっぱり遅延すると速くなるのは競プロの常識なんですかね。
結果サマリ
-
WCPC参加人数: 6人
-
各問題の最速解答者(ペナルティ無し):
| 問題 | 参加者名 | タイム | 言語 |
|---|---|---|---|
| A | nsubaru | 0:48 | Java |
| B | Caffeineholic | 2:27 | Python |
| C | nsubaru | 14:11 | Java |
| D | Caffeineholic | 32:45 | Python |
| E | - | - | - |
| F | - | - | - |
| G | - | - | - |
今週の出題
ABC470-A
問題ページ: A問題
問題文を表示
問題文
正整数 が与えられます。
行出力してください。
行目 () には、 が の倍数ならば Fizz を、 の倍数でないならば を出力してください。
制約
- は 以上 以下の整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
いわゆる FizzBuzz の簡易版です。 から までループを回し、 の判定を行うだけです。
ABC470-B
問題ページ: B問題
問題文を表示
問題文
個のボールがあります。各ボールは色 から色 までの 色のいずれかで塗られており、 個目 () のボールの色は です。
あなたは 回の操作で好きなボール つを好きな 色のいずれかに変更することができます。
全てのボールが同じ色になるようにするためには、最小で何回の操作が必要か求めてください。
制約
- 入力される値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
一番多く出現している色の個数を数え、全ボール数 からその一番多く出現している色の個数を引くことで最小操作回数が求まります。 配列などで出現回数をカウントすれば簡単に解けます。
ABC470-C
問題ページ: C問題
問題文を表示
問題文
長さ の整数列 があります。はじめ、 の要素は全て です。
個のクエリが与えられるので、順に処理してください。クエリは 種類あり、以下のいずれかの形式で与えられます。
1 x: の値を 増やす。2: に対し、 ならば の値を 減らす。
各クエリを処理した直後の のビット単位 XOR を求めてください。
制約
- 入力される値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
行出力せよ。 行目 () には、 番目のクエリを処理した直後の に対する のビット単位 XOR を出力せよ。
操作(クエリ1)は XOR の性質を利用すれば簡単です。 全体の減算操作(クエリ2)を高速に処理する設計が問われます。 要素ごとの値を愚直に更新すると TLE になるため、1以上の値があるかを保持するかを運用して効率的に XOR 和を更新することで計算量マジックで解けます。
ABC470-D
問題ページ: D問題
問題文を表示
問題文
の順列 が与えられます。
個のクエリを順に処理してください。クエリは以下の 種類です。
1 x y: と の値を入れ替える。2: 以下の条件を満たす の順列 を作り、 の値をそれぞれ で置き換える。- を満たすどの整数 についても、 を満たす。
すべてのクエリを処理したあとの の値を出力してください。
制約
- は の順列
- 種類 のクエリにおいて、
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
すべてのクエリを処理したあとの の値を、空白区切りで 行に出力せよ。
クエリ2で行う操作はインデックスソートなどと同じで「順列 の逆順列をとる」操作です。 であるため、クエリ2のたびに配列全体をソートしていると間に合いません。 通常状態と反転状態のフラグを保持し、通常状態と反転状態のどちらにいるかを管理しながらスワップ操作の対象を読み替えることで、各クエリを で処理できます。
ABC470-E
問題ページ: E問題
問題文を表示
問題文
高橋君は神経衰弱のような 人ゲームで遊んでいます。
枚のカードがあります。カードの表には数が つ書かれており、カードの裏には何も書かれていません。
を満たす各 について、 が書かれたカードはちょうど 枚あります。( は相異なります)
高橋君はこれらのカードを使って次の手順でゲームを行います。
- 枚のカードを裏向きの状態でシャッフルし、場に並べる。
- ライフを 、スコアを とする。
- ライフが になるか、場のカードがなくなるまで以下を繰り返す。
- 場の裏向きのカードを 枚選び表にし、書かれている数 を確認する。
- 場の裏向きのカードを 枚選び表にし、書かれている数 を確認する。
- のとき、その 枚を場から取り除き、スコアを 増やす。
- のとき、 枚のカードを再び裏向きに戻し、ライフを 減らす。
高橋君がゲーム時のスコアを最大化するように最適に行動したときの、ゲーム終了時のスコアの期待値を求めてください。
制約
- 入力される値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。真の解との絶対誤差または相対誤差が 以下であれば正解として扱われる。
問題の文からDPの香りと、期待値とあることから神経衰弱の期待値DP問題であると推測できます。 期待値DPは解いたことがないので、解説を見てもいまいちわからなかったです。
最後に
今回は比較的得意な部類だと思います。
最近しょうもないミスをしている気がするので、精進していきたいと思います。