かんプリンの学習記録

勉強したことについてメモしています. 主に競技プログラミングの問題の解説やってます.

ABC204のPythonによる実装

Pythonを使っている人に需要がありそうなので書きます. ※この記事は解法ではなく実装の解説を行います.解法が知りたい場合は別の記事を読んでください. A問題 B問題 C問題 D問題 感想 E以降は需要ありそうだったら書きます.A問題入力を受け取って計算結…

ABC204 D - Cooking

問題はこちら 問題概要 解説 おまけ おまけ2 提出プログラム 感想 問題概要個の料理があり,それぞれ作るためにオーブンを使う時間はである.つのオーブンを用いてすべての料理を作るのにかかる時間は最短何分か.解説つのオーブンのみを用いることを考える…

ABC203 E - White Pawn

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要のチェス盤があり,に白のポーンがある.他にも個の黒のポーンが置かれている.白のポーンはの方向に進むとき,白のポーンがに到達できるようなの数はいくつか.解説を「に到達できるか」とするよう…

yukicoder No.1518 Simple Combinatorics

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要以上以下の整数をランダムに選ぶという操作を回行うとき,選ばれた整数の種類数の期待値にをかけた値を求めよ.解説種類数をとする. 求めるものはで, は包除原理とかで求められそうだが面倒なので別…

ABC201 F - Insertion Sort

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要がいて,左から番目は人である.以下の種類の操作を繰り返し,人を昇順に並び替えるときのコストの最小値を求めよ. コストを払い,人を好きな位置に移動させる. コストを払い,人を左端に移動させ…

ABC202 E - Count Descendants

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要頂点の根付き木について以下の個のクエリに答えよ.整数が与えられる.次の条件を満たす頂点の個数を求めよ. から根への最短パス上に頂点が存在する. から根への最短パスに含まれる辺の数がちょう…

yukicoder No.1506 Unbalanced Pocky Game

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要長さの数列があり,の末尾の要素をとして,末尾の要素を以上未満の整数に変えてになった要素は消すという操作を人のプレーヤーが交互に行う.操作ができなくなる(自分の操作開始時にが空)と負けとな…

ABC201 E - Xor Distances

公式解説と同じになってしまいましたが,せっかく書いたので公開します.問題はこちら 問題概要 解説 提出プログラム 感想 問題概要頂点の木の任意の頂点についての総和を求めよ.ただし,とはからへの最短パスに含まれる辺全ての重みのXORと定める.解説も…

ABC154 F - Many Many Paths

形式的冪級数を用いた解法です.問題はこちら 問題概要 解説 提出プログラム 感想 問題概要次元グリッド上でからまでの最短経路の個数をとする.を求めよ.解説である.これは高校数学なので,分からない場合は復習が必要.次元累積和の典型みたいに考えると…

ABC200 D - Happy Birthday! 2

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要個の正整数からなる数列が与えられる.とを満たす異なる数列であってを満たすものが存在するか判定し,存在するならばつ出力せよ.解説の要素を「に振り分ける」,「に振り分ける」,「どちらにも振…

ABC200 E - Patisserie ABC 2

問題はこちら 問題概要 解説 形式的冪級数 提出プログラム 感想 問題概要全てのの組を以下のルールでソートしたときの番目の値を求めよ.上の方が優先度が高い. の昇順. の昇順. の昇順. 解説さすがに全部列挙するのは無理.の昇順に並んでいるので,全…

ABC155 F - Perils in Parallel

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要爆弾が個あり,番目の爆弾は座標にあってのときオフ,のときオンになっている.本のコードがあり,番目のコードを切ると,座標が以上以下のすべての爆弾の電源のオン・オフが切り替わる.切るコード…

ZONeエナジープログラミングコンテスト C - MAD TEAM

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要人にのつの能力値がある.この中から3人選んだときのの最大値を求めよ.解説最初に思いつくのは人の選び方の全探索.これはなので間に合わない.人決めたときにもう人を高速に決められたら解けそう…

ABC199 E - Permutation

別解です.ほぼ一緒なので丁寧には書きません.問題はこちら 問題概要 解説 提出プログラム 感想 問題概要を並び替えてできる数列で,以下の条件を満たすものの数を求めよ. を満たす全ての数列について,の中に以下の数は個以下しか存在しない. 解説公式解…

ABC199 D - RGB Coloring 2

問題はこちら 問題概要 問題概要2 解説 別解 提出プログラム 感想 問題概要頂点辺の単純無向グラフの各頂点を赤,緑,青で塗り分ける方法で隣接する頂点が異なる色で塗られているようなものは何通りあるか.問題概要2グラフ理論っぽく書かれていますが,同じ…

AtCoder エイシング プログラミング コンテスト 2020 F - Two Snuke

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要 を満たす整数の組全てについて の総和を求めよ.解説 形式的冪級数で解きます.とすると よってとしてが答え.を偶奇で分けると したがってBostan–Moriのアルゴリズムを用いたり,線形漸化式に直し…

yukicoder No.1478 Simple Sugoroku

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要マスのマス目がある.以下の操作のうちつを選び,マスからマスまで移動するときの操作回数の最小値を求めよ. 操作:マスにいるときマスに移動する. 操作:ワープマスにいるときランダムにワープマ…

GCJ 2021 Round 1A Prime Time

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要素数が書かれたカードが複数ある.そのカードをのカードに書かれた数の総和とのカードに書かれた数の総積が等しくなるように2つのグループに分けたとき,の総和(の総積)として考えられる最大の値を…

ABC198 F - Cube

そもそも回転の列挙が難しい.以下,厳密性を欠くので注意.問題はこちら 問題概要 解説 提出プログラム 感想 問題概要正六面体のつの面に正整数を書き込んだとき,正整数の和がとなるような物の数を求めよ.ただし,正六面体を回転して一致する書き込み方は…

ABC198 C - Compass Walking

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要歩でちょうど距離歩けるとき,原点からまで最短何歩で行けるか.解説 とします.歩歩くとするとなら到達できないことがわかりますが,なら到達できるでしょうか?到達できそうですがのときには注意…

yukicoder No.1471 Sort Queries

Mo's algorithmを用いた方法を説明します.問題はこちら 問題概要 解説 提出プログラム 感想 問題概要英小文字からなら長さの文字列について「文字目から文字目までからなる部分文字列を任意に並べ替えたものの中で辞書順最小である文字列の文字目を出力せよ…

ABC174 F - Range Set Query

Mo's algorithmを用いた方法を説明します.問題はこちら 問題概要 解説 提出プログラム 感想 問題概要長さの数列に関して「番目から番目までに含まれる数の種類を求めよ」という個のクエリに答えよ.解説 Range Set Queryという名前とか数列の区間に対するク…

ABC197 F - Construct a Palindrome

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要頂点辺の連結無向グラフの各辺に英小文字がつ書かれている.頂点から頂点までのウォークのうち,通った辺に書かれた文字を順に並べると回文となるようなものの回文の長さの最小値を求めよ.解説 回…

ABC196 C - Doubled

解法,解法,?解法について解説します.問題はこちら 問題概要 解説 O(√N)解法 O(logN)解法 O(1)?解法 提出プログラム 感想 問題概要以上以下の整数のうち,先頭に余分な0をつけない十進表記で偶数桁であり,前半と後半が文字列として一致するようなものは…

ABC194 E - Mex Min

問題はこちら 問題概要 解説 に整数を追加する場合 から整数を削除する場合 のmexを求める ほかにも 提出プログラム 感想 問題概要長さの整数列が与えられる.の連続する長さの区間すべてについてのmexのうち最小値を求めよ.解説 最初の区間についてmexを求…

ABC193 F - Zebraness

問題はこちら 問題概要 解説 提出プログラム 感想 問題概要のマス目が白か黒に塗られており,塗られていないマスもある.塗られていないマスを白か黒で塗るとき,隣り合ったマスが異なる色で塗られているようなマスの組の数の最大値を求めよ.解説 隣り合っ…

ABC172 D - Sum of Divisors

問題はこちら 問題概要 思考の流れ 提出プログラム 感想 問題概要整数に対し,正の約数の個数をとする.を求めよ.思考の流れ 正の約数の個数は,素因数分解や約数を列挙することによってで求まる.からに対してこれを行うとかかる. 実際に約数の分布をみて…

yukicoder No.1400 すごろくで世界旅行

問題はこちら 問題概要 思考の流れ 提出プログラム 感想 問題概要頂点の重み無し有向グラフの隣接行列が与えられる.任意の頂点から任意の頂点までちょうど本の辺を辿って行くことのができるか判定せよ.思考の流れ yukicoder No.1340 おーじ君をさがせとほ…

yukicoder No.1348 Split Tile

問題はこちら 問題概要 思考の流れ 提出プログラム 感想 問題概要ラベル付き頂点のパスグラフから頂点を削除していく. 頂点をつ削除するたび連結成分の個数の点数を得る. 通りの削除の仕方すべての点数の総和を求めよ.思考の流れ 連結成分の数というのは数え…

yukicoder No.1340 おーじ君をさがせ

問題はこちら 問題概要 思考の流れ 提出プログラム 感想 問題概要頂点辺の有向グラフの頂点からちょうど本の辺を辿って行くことのできる頂点の個数を求めよ.思考の流れ yukicoder No.1112 冥界の音楽の解法で書いたように隣接行列を乗した行列の成分は「頂点…