けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

2025-01-01から1年間の記事一覧

AtCoder ARC 189 D - Takahashi is Slime (3D, 黄色, 700 点)

で解けた! 同じ値が連続する場合の対処に苦慮した。 問題へのリンク 問題概要 強さが のスライムが一列にこの順に並んでいる。 に対して、次の問に答えよ。 【問】 初期状態で左から 番目にいるスライムが高橋君である。高橋君が下記の行動を好きな回数だけ…

yukicoder No.1326 ふたりのDominator (4D)

二重頂点連結成分分解して得られる Block-Cut 木のクエリに答えていく問題。 問題へのリンク 問題概要 頂点数 、辺数 の連結な単純無向グラフが与えられる。次の 回のクエリに答えよ。 【クエリ】 各クエリでは 2 頂点 が与えられる。 個の頂点のうち、次の…

AtCoder ABC 069 C - 4-adjacent (4Q, 茶色, 400 点)

これ系の問題、最近あまり見かけなくなった気がする。 問題へのリンク 問題概要 個の正の整数からなる数列 が与えられる。 この数列の項を適切に並び替えることによって、「どの隣接する 2 項の積も 4 の倍数」となるようにできるかどうかを判定せよ。 制約 …

AtCoder ABC 068 B - Break Number (6Q, 灰色, 200 点)

この手のものは関数化するのがオススメ! 問題へのリンク 問題概要 正の整数 が与えられる。 以上 以下の整数のうち、2 で割れる回数が最大のものを求めよ(タイがないことが証明できる)。 制約 考えたこと 全探索しよう! 具体的には、 について、「 を 2 …

天下一プログラマーコンテスト2015予選A D - ハシポン (3D, 試験管橙色)

とても面白かった。場合分けを詰め切るが大変だった。 問題へのリンク 問題概要 橋がただ 1 つだけ存在するような連結で単純な無向グラフをハシポンとよぶ。 頂点数 、辺数 の連結で単純な無向グラフが与えられる。このグラフに辺を追加することで、ハシポン…

AOJ 3022 Cluster Network (AUPC 2017 day2-J) (4D)

Block-Cut 木を試すのにすごくいい問題! 問題へのリンク 問題概要 頂点数 、辺数 の連結な無向グラフが与えられる(単純とは限らない)。頂点 には、重み がついている。各頂点について、以下の問に答えよ。 【問】 その頂点を除外したグラフを考える。この…

AtCoder ARC 045 B - ドキドキデート大作戦高橋君 (1Q, 試験管水色)

いい感じの教育的典型問題。いもす法したあとに累積和する! 問題へのリンク 問題概要 個のマス がある。 個の区間があって、それぞれマス からマス までを連続して覆っている。 個の区間によって一回以上被覆されるマスの集合を とする。 各区間について、…

AtCoder ARC 045 A - スペース高橋君 (7Q, 試験管灰色)

現代の AtCoder にはあまりない「一行読み込み」を要求する問題 問題へのリンク 問題概要 "Left Left Right Right AtCoder" のように、"Left", "Right", "AtCoder" のいずれかを空白区切りで連結した文字列が一行で与えられる。 "Left" は "<" に replace し…

AtCoder ARC 045 D - みんな仲良し高橋君 (4D, 試験管赤色)

すごく面白い問題だった! 二重頂点連結成分分解からの Block-Cut 木ライブラリを試す目的で解いてみた。 問題へのリンク 問題概要 二次元平面上に 個の点がある。各点について、次の問に答えよ。 その点を除去した上で、各点に対応する頂点数 のグラフを考…

AtCoder ABC 067 C - Splitting Pile (5Q, 茶色, 300 点)

計算量の意識が必要になる良問! 問題へのリンク 問題概要 個の整数からなる数列 が与えられる。これを左右に 2 つに分ける(左右ともに 1 個以上はとる)。 左側の要素の総和を 、右側の要素の総和を とするとき、 の最小値を求めよ。 制約 考えたこと もし…

AtCoder ABC 067 B - Snake Toy (6Q, 灰色, 200 点)

ソートの練習! 問題へのリンク 問題概要 個の整数 から 選んで総和をとる。 総和を取った値の最大値を求めよ。 制約 考えたこと 個の整数 を大きい順に並べておいて、大きい順に 個とって足せばよい。 C++ では、大きい順にソートするのは sort(l.begin(), …

AtCoder ABC 066 C - pushpush (4Q, 茶色, 300 点)

完全に言われた通りに実装してしまうと、 の計算量となって TLE してしまうので、工夫しよう! 問題へのリンク 問題概要 空の配列に対して、以下の操作を 回行う。 回目の操作では 配列の末尾に値 を挿入する 配列全体を reverse する を行う。 回操作後の配…

AtCoder ABC 065 C - Reconciled? (5Q, 茶色, 300 点)

数学 IA でもありがちな問題! 問題へのリンク 問題概要 匹の犬 と、 引の猿 を一列に並べる。 犬同士・猿同士がそれぞれ隣り合わないように並べる方法の数を 1000000007 で割った余りを求めよ。 制約 考えたこと 実は、 や の場合は、条件を満たすように並…

AtCoder ABC 064 B - Traveling AtCoDeer Problem (7Q, 灰色, 200 点)

ちょっと発想が必要な問題。 問題へのリンク 問題概要 個の家が並んでいる。 個目の家は座標 にある。このすべての家にプレゼントを配る。 好きな場所から開始し好きな場所で終了することができるとき、最小の移動距離を求めよ。 制約 考えたこと 下の図のよ…

AtCoder ABC 063 C - Bugged (4Q, 茶色, 300 点)

面白い問題。最近はこういうの、あまり見ないかもしれない。 問題へのリンク 問題概要 個の正の整数 が与えられる。 これらからいくつか選んで総和をとる。ただし、その値が 10 の倍数である場合には、その値は 0 になってしまう。 この値の最大値を求めよ。…

AtCoder ABC 063 B - Varied (6Q, 灰色, 200 点)

とても教育的な易しい問題! 問題へのリンク 問題概要 英小文字からなる文字列 が与えられる。 の文字がすべて互いに相異なるかどうかを判定せよ。 解法 (1):多重 for 文 最も素朴な方法は、 から 2 文字を選ぶ方法をすべて試して、「それらが異なっている…

AtCoder ABC 062 B - Picture Frame (6Q, 灰色, 200 点)

こういう処理に慣れておくと、将来的に「番兵法」などにも使える。 問題へのリンク 問題概要 縦 ピクセル、横 ピクセルの画像があります。 各ピクセルは英小文字で表される。 この画像の周囲 1 ピクセルを # で囲んだものを出力してください。 制約 考えたこ…

AtCoder ABC 061 B - Counting Roads (5Q, 灰色, 200 点)

「グラフ」の基礎問題! グラフを知らなくても解ける。 問題へのリンク 問題概要 個の都市 () があり、 本の道路がある。 番目の道路は、都市 と都市 を結んでいる。同じ 2 つの都市を結ぶ道路は、1 本とは限らない。 各都市から他の都市に向けて、何本の道…