JPRSプログラミングコンテスト2026#1(AtCoder Beginner Contest 442) コンテストまとめ
コンテスト情報

コンテスト時間: 2026-01-24(土) 21:00 ~ 2026-01-24(土) 22:40 (100分)
A 問題
- Difficulty: 10 / NoviSteps: 8Q / 解答時間: 1:15
問題概要
英小文字からなる文字列 が与えられる。
英小文字に含まれるドットの個数を以下のように定めるとき、 のすべての文字に対するドットの個数の和を求めよ。
- 英小文字が
iまたはjであるとき : 個 - 英小文字が
i,jのいずれでもないとき : 個
解答方針
- の各文字を順に見ていき、
iまたはjであればカウンターを 増やせばよい。

B 問題
- Difficulty: 27 / NoviSteps: 6Q / 解答時間: 3:31
問題概要
高橋君は音楽プレイヤーを持っている。 はじめ、音量は であり、曲は停止中である。
これから、 回の操作を順に行う。 回目の操作は整数 によって表され、操作の内容は以下の通り。
- : 音量を 上げる。
- : 現在の音量が 以上であれば音量を 下げ、 であれば何もしない。
- : 曲が停止中であれば曲を再生し、曲が再生中であれば曲を停止する。
回目の操作を終えた直後に音量 以上で音楽が再生されているか、それぞれ判定せよ。
解答方針
- プレイヤーの再生状態と音量を管理し、シミュレーションしていけばよい。

C 問題
- Difficulty: 174 / NoviSteps: 4Q / 解答時間: 6:15
問題概要
人の研究者がおり、 に対して研究者 と研究者 は互いに利害関係にある。 論文の査読者は、その論文の著者とは異なり、著者と利害関係にない相異なる 人の研究者でなければならない。
について以下の問題を解け。
- 研究者 が著者である論文の査読者の 人組として考えられるものは何通りあるか求めよ。
解答方針
- 研究者間の利害関係のグラフを考えたとき、研究者 自身とその隣接頂点を除いた人から 人を選ぶ組み合わせの数を求めればよい。
- 頂点 の次数を とすると、求める組み合わせの数は二項係数 である。

D 問題
- Difficulty: 293 / NoviSteps: 2Q / 解答時間: 8:07
問題概要
長さ の数列 が与えられる。
個のクエリが与えられるので、順に処理せよ。各クエリは以下のいずれかの形式である。
1 x: と の値を入れ替える。2 l r: の値を求める。
解答方針
- クエリ1は「区間内の1点更新を2回行う」、クエリ2では「任意の区間和を求める」ことに対応する。
- これを高速に行えるデータ構造はSegment Treeなどである。これらを用いて実装すれば簡単に解ける。

E 問題
- Difficulty: 1355 / NoviSteps: 1D / 解答時間: 63:07
問題概要
二次元平面上に 体のモンスターがいて、モンスター がいる場所の座標は である。
この平面上の原点には高橋君が立っている。 高橋君の目からは強力なレーザーが常に照射されており、高橋君が向いている方向に存在する全てのモンスターは即座に消滅する。
青木君は、 個の独立な思考実験を行っているので、各思考実験に対する答えを求めよ。 個目の思考実験は以下の通り :
- はじめ、高橋君はモンスター がいる方向を向いている。今から高橋君は時計回りに回転を行い、モンスター がいる方向を向いた瞬間に停止する。このとき、合計で何体のモンスターが消滅するか?
解答方針
- 各モンスターの位置ベクトルを正規化し、同じ向きを向くモンスターを1つのグループにまとめる。
- それぞれのグループの代表に対して、そのベクトルの偏角を計算し、偏角ソートを行う( の順でソートされることに注意)。
- ソートされた各ベクトルが所属するグループのモンスター数を累積和により前計算しておく。
- ここで, 高橋君がモンスター の方向から の方向へ回転する際, 前者の位置ベクトルの偏角を 、後者を とすると、
- の場合 : から までの区間に含まれるグループのモンスター数の和を求めればよい。
- の場合 : から先頭までと、末尾から までの区間に含まれるグループのモンスター数の和を求めればよい。

成績

- 順位: 2066th / 11653
- Performance: 1294
- 1260 → 1263 (+3) Highest更新!
D問題までは過去最速の速さだったのだが、E問題はもっと早く解けるべきだったらしい。





