ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

AtCoder

AHC025 参加記録

概要 AtCoder Heuristic Contest 025に参加した記録です。 珍しいインタラクション問題。 方針1:ナイーブ実装 とりあえずシンプルな解法を考えて実装するところから着手した。以下のような解法になる。 最初、各グループは1つずつアイテムを持つ。残ったア…

ABC 284 F - ABCBAC 解いたので解説

問題:AtCoder Beginner Contest 284 F - ABCBAC 解説 公式の解説を見ながらZ-Algorithmで解いた。Z-Algorithmについては参考URLの章の記事を参照してください。 文字列Sを反転した文字列をS'とおき、SとS'をそれぞれ以下のように表現する。 文字列Sと、Sを…

Advertisement: 宣伝(日本情報オリンピック2009)の解説

問題:advertisement - 宣伝 (Advertisement) 解説 「強連結成分分解(SCC)を使って同じグループの頂点を1つにまとめると、サイクルを含まないDAGになる」という性質を使う。 連絡先を知っている関係をグラフとして表す。 をSCCしたあと、グループを1つの頂…

ABC233: E - Σ[k=0..10^100]floor(X/10^k) を解いた

問題:AtCoder Beginner Contest 233: E - Σ[k=0..10100]floor(X/10k) 解説 を計算せよという問題。 Xの制約が と大きいし、k=0から10100まで計算は普通にしていたら制限時間に間に合わない。 Xの桁数が最大500000なので、問題をエスパーすれば計算量O(桁数…

AHC007参戦記

THIRD プログラミングコンテスト 2021 (AtCoder Heuristic Contest 007)の参加記録です。 ヒューリスティックコンテストには参加したこと無かったのですが、今回は4時間と短めの時間設定だったので参加してみました。 問題概要 800x800の二次元座標上に400…

073 - We Need Both a and b(★5)解いた

問題:競プロ典型 90 問 073 - We Need Both a and b(★5) 解説 以下の木DPを構築して解きたい。 dp[u][j] := (頂点uを根とする部分木において、)頂点uを含む連結成分の状態がjのときの場合の数。ただしj=0は'a'しかない状態、j=1は'b'しかない状態、j=2…

SoundHound Inc. Programming Contest 2018 -Masters Tournament- のC問題解いた

問題:SoundHound Inc. Programming Contest 2018 -Masters Tournament- C - Ordinary Beauty 1~nの目のサイコロがある m回サイコロを振って、出た目を数列とする 数列の隣り合う2項の差がdの個数を、その数列の美しさとする 数列の美しさの期待値を求めよ …

ABC 143: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 143: D - Triangles 公式解説PDF:https://img.atcoder.jp/abc143/editorial.pdf 公式解説動画:https://youtu.be/3U_N7zelnMM?t=2983 解説 解説動画まんまです。 二分探索問題です。 問題の条件の、 a < b + c b < c + a c …

ABC 112: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 112: D - Partition 公式解説PDF:https://img.atcoder.jp/abc112/editorial.pdf 公式解説動画:AtCoder Beginner Contest 112 解説放送 - YouTube 解説 解説動画まんまです。 のとき、最大公約数の最大値は?という問題です…

ABC 142: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 142: D - Disjoint Set of Common Divisors 公式解説PDF:https://img.atcoder.jp/abc142/editorial.pdf 公式解説動画:AtCoder Beginner Contest 142 - YouTube 解説 要約すると、(gcd(A, B)を素因数分解したときの素因数…

競技プログラミング解説記事まとめ

最後に編集した日:2023/01/18 ABC C問題 AtCoder Beginner Contest 030: C - 飛行機乗り AtCoder Beginner Contest 031: C - 数列ゲーム AtCoder Beginner Contest 032: C - 列 AtCoder Beginner Contest 140: C - Maximal Value ABC D問題 AtCoder Beginne…

ABC 115: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 115: D - Christmas 公式解説PDF:https://img.atcoder.jp/abc115/editorial.pdf 公式解説動画:なし 有志解説動画:【競技プログラミング】AtCoder Beginner Contest 115 D問題をJuliaで解く - YouTube 解説 考察問題であり…

ABC 030: C問題の解説 (Python3)

問題:AtCoder Beginner Contest 030: C - 飛行機乗り 公式解説PDF:https://www.slideshare.net/chokudai/abc030 公式解説動画:なし 解説 二分探索問題です。 以下の解説は公式PDFの解説まんまです。 入力例1を考えます。 初期状態は以下のように、高橋く…

ABC 133: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 133: D - Rain Flows into Dams 公式解説PDF:https://img.atcoder.jp/abc133/editorial.pdf 公式解説動画:https://youtu.be/8uowVvQ_-Mo?t=3228 解説 考察問題です。数式を変換してXに対する漸化式を導きます。 以下の解説…

ABC 131: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 131: D - Megalomania 公式解説PDF:https://img.atcoder.jp/abc131/editorial.pdf 公式解説動画:https://youtu.be/XI8exXVxZ-Q?t=4046 解説 締切が早い仕事から順に終わらせていく貪欲法です。割と直感で思いつく解法です…

ABC 136: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 136: D - Gathering Children 公式解説PDF:https://img.atcoder.jp/abc136/editorial.pdf 公式解説動画:https://youtu.be/lyHk98daDJo?t=3172 解説 発想としてはランレングス法です。 S=RRRL という例を考えます。 i=0の人…

ABC 031: C問題の解説 (Python3)

問題:AtCoder Beginner Contest 031: C - 数列ゲーム 公式解説PDF:https://www.slideshare.net/chokudai/abc031 公式解説動画:なし 解説1:力技 Nは高々50なので、 くらいまでいけそうだとあたりをつけます。 全探索で、問題をシミュレートして高橋のとり…

ABC 140: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 140: D - Face Produces Unhappiness 公式解説PDF:https://img.atcoder.jp/abc140/editorial.pdf 公式解説動画:https://youtu.be/VSeggcnxwrc?t=3564 ABC140のD問題のPython3による解説です。 初見では全くわからず、解説…

ABC 129: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 129: D - Lamp 公式解説PDF:https://img.atcoder.jp/abc129/editorial.pdf 公式解説動画:https://youtu.be/L8grWxBlIZ4?t=4363 ABC129のD問題のPython3による解説です。 解説 DP問題です。 これは公式の解説動画がとてもわ…

ABC 130: D問題の解説 (Python3)

問題:AtCoder Beginner Contest 130: D - Enough Array 公式解説PDF:https://img.atcoder.jp/abc130/editorial.pdf 公式解説動画:https://youtu.be/ERZuLAxZffQ?t=2473 解説 ABC130のD問題の解説です。しゃくとり法の問題です。 8 10 6 1 2 7 10 1 2 1 と…

ABC140: C問題の解説 (Python3)

問題:AtCoder Beginner Contest 140: C - Maximal Value 公式解説PDF:https://img.atcoder.jp/abc140/editorial.pdf 公式解説動画:https://youtu.be/VSeggcnxwrc?t=2461 解説 ABC140のC問題の解説です。貪欲法(?)問題です。 数列 を リストAsに、数列 …

ABC032: C問題の解説 (Python3)

問題:AtCoder Beginner Contest 032: C - 列 公式解説:https://www.slideshare.net/chokudai/abc032 しゃくとり法の問題です。 公式解説を読むと、「連続する1を圧縮する」という重要なテクニックが書かれていますが、本記事ではそうではない方法で解いて…

AtCoderSort

オブジェクト群を何かの値でソートしたいとき、それはともかくAtCoderのレートで先にソートするソート手法。 コード # coding: utf-8 class Person(): def __init__(self, rate, height, age, name): self.rate = rate # レート self.height = height # 身長…