はまやんはまやんはまやん

hamayanhamayan's blog

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

Aoki's Trick [第七回 アルゴリズム実技検定 E]

https://atcoder.jp/contests/past202107-open/tasks/past202107_e 解説 https://atcoder.jp/contests/past202107-open/submissions/24461067 この問題は勘がいい人だと3進数を利用したような問題だなと感じるかもしれない。 それが見えてれば比較的見通しの…

Replace [第七回 アルゴリズム実技検定 D]

https://atcoder.jp/contests/past202107-open/tasks/past202107_d 解説 https://atcoder.jp/contests/past202107-open/submissions/24466988 ちょっと考察、ちょっと実装の問題。 操作回数が最大となる操作 ここがまず1つ考察が必要な部分である。 今回は実…

Validation [第七回 アルゴリズム実技検定 C]

https://atcoder.jp/contests/past202107-open/tasks/past202107_c 解説 https://atcoder.jp/contests/past202107-open/submissions/24460011 要求されている判定を行う実装問題。 自分の実装では色々な工夫をすることで、なるべく実装を減らしている。 まず…

Vapor Pressure [第七回 アルゴリズム実技検定 B]

https://atcoder.jp/contests/past202107-open/tasks/past202107_b 解説 https://atcoder.jp/contests/past202107-open/submissions/24459788 シミュレーション問題。 計算一本でも求めることができるが、言われているシミュレーションを動かすことでも求め…

check digit [第七回 アルゴリズム実技検定 A]

https://atcoder.jp/contests/past202107-open/tasks/past202107_a 解説 https://atcoder.jp/contests/past202107-open/submissions/24459496 シミュレーション問題。 問題で要求されていることを実装しよう。 まず、自分の実装ではコードを文字列で取り込ん…

Ring MST [AtCoder Beginner Contest 210 E]

https://atcoder.jp/contests/abc210/tasks/abc210_e 前提知識 クラスカル法(MST, 最小全域木) 解説 https://atcoder.jp/contests/abc210/submissions/24333006 題名にもあるように今回はMST,最小全域木を作ることが目的となっている。 上手く隠されているよ…

National Railway [AtCoder Beginner Contest 210 D]

https://atcoder.jp/contests/abc210/tasks/abc210_d 解説 https://atcoder.jp/contests/abc210/submissions/24331674 難しい問題。 なお、i,jをx,yと言い換えて説明している。 何から始めるか 問題の中で一番厄介な部分が絶対値であり、これをどうしようか…

Colorful Candies [AtCoder Beginner Contest 210 C]

https://atcoder.jp/contests/abc210/tasks/abc210_c 前提知識 尺取り法 解説 https://atcoder.jp/contests/abc210/submissions/24333038 色々解法があるが、特別なデータ構造が必要ないのは尺取り法(正確にはっぽいアルゴリズム)だろう。 この問題は尺取…

Bouzu Mekuri [AtCoder Beginner Contest 210 B]

https://atcoder.jp/contests/abc210/tasks/abc210_b 解説 https://atcoder.jp/contests/abc210/submissions/24333088 シミュレーションして勝敗を決していこう。 先頭から順番に、高橋君、青木君の順番でカードを見ていき悪いカードを受け取った人が負けな…

Cabbages [AtCoder Beginner Contest 210 A]

https://atcoder.jp/contests/abc210/tasks/abc210_a 解説 https://atcoder.jp/contests/abc210/submissions/24333120 場合分けして問題を解こう。 状況が変わる条件はキャベツをA個以下買うか、A個よりも多く買うかである。 キャベツをA個以下買う場合はす…

Deforestation [AtCoder Beginner Contest 209 F]

https://atcoder.jp/contests/abc209/tasks/abc209_f 前提知識 挿入DP 累積和によるDP高速化 解説 https://atcoder.jp/contests/abc209/submissions/24159889 mod109+7で制約をみてみると、dp[N][N]的な感じかなとまずよぎる。 色々整理していこう。 最適動…

Shiritori [AtCoder Beginner Contest 209 E]

https://atcoder.jp/contests/abc209/tasks/abc209_e 前提知識 後退解析(ゲーム問題) 解説 https://atcoder.jp/contests/abc209/submissions/24158002 ゲーム問題は手法が限られているので、なにも思いつかない場合はとりあえず全部の手法を1つずつ試して…

Collision [AtCoder Beginner Contest 209 D]

https://atcoder.jp/contests/abc209/tasks/abc209_d 前提知識 LCA 解説 https://atcoder.jp/contests/abc209/submissions/24156786 この問題はアルゴリズム力が要求される問題。 何が分かれば問題が解けるかという所から考えていく。 なお、想定解法は全然…

Not Equal [AtCoder Beginner Contest 209 C]

https://atcoder.jp/contests/abc209/tasks/abc209_c 前提知識 modつき計算 解説 https://atcoder.jp/contests/abc209/submissions/24156090 問題をそのまま受け取ると難しい問題。 mod 109 + 7での計算ができることが前提条件。 とりあえず解きたい場合はAC…

Can you buy them all? [AtCoder Beginner Contest 209 B]

https://atcoder.jp/contests/abc209/tasks/abc209_b 解説 https://atcoder.jp/contests/abc209/submissions/24155585 問題で指定されているように偶数番目の商品は定価の1円引きで購入して、奇数番目の商品は定価通りで購入したとして 合計金額を計算してい…

Counting [AtCoder Beginner Contest 209 A]

https://atcoder.jp/contests/abc209/tasks/abc209_a 解説 https://atcoder.jp/contests/abc209/submissions/24155463 制約を見るとA≦Bが保証されていないので、それに気を付ける必要がある。 普通にA~Bでループを回せば、A≦Bでない場合はループが回らない…

Digit Products [AtCoder Beginner Contest 208 E]

https://atcoder.jp/contests/abc208/tasks/abc208_e 前提知識 桁DP 解説 https://atcoder.jp/contests/abc208/submissions/23995133 桁DPの知識が必要になる。 桁DPに慣れていれば真っ先に桁DPが思い浮かびそうな問題設定であるので、 もし知らない場合は桁…

Shortest Path Queries 2 [AtCoder Beginner Contest 208 D]

https://atcoder.jp/contests/abc208/tasks/abc208_d 前提知識 (ワーシャルフロイド) 解説 https://atcoder.jp/contests/abc208/submissions/23994717 ワーシャルフロイドを正確に理解していれば解ける問題。 いや、この問題を理解することがワーシャルフ…

Fair Candy Distribution [AtCoder Beginner Contest 208 C]

https://atcoder.jp/contests/abc208/tasks/abc208_c 解説 https://atcoder.jp/contests/abc208/submissions/23993957 シミュレーションを高速化することを考える。 今回は2段階で分配が行われる。 持っているお菓子がN個以上なら1個ずつおかしを配る N個未…

Factorial Yen Coin [AtCoder Beginner Contest 208 B]

https://atcoder.jp/contests/abc208/tasks/abc208_b 解説 https://atcoder.jp/contests/abc208/submissions/23993696 今回は貪欲解で解くことができる。 だが、制約を見ると動的計画法を使っても解くことができるようになっている。 ここは恐らく優しさであ…

Rolling Dice [AtCoder Beginner Contest 208 A]

https://atcoder.jp/contests/abc208/tasks/abc208_a 解説 https://atcoder.jp/contests/abc208/submissions/23993338 A問題にしては少し難しかったかもしれない。 だが、テクニックとしてはそれほど難しくないので、もし分からなかった場合は覚えておこう。…

Tree Patrolling [AtCoder Beginner Contest 207 F]

https://atcoder.jp/contests/abc207/tasks/abc207_f 前提知識 二乗の木DP 解説 https://atcoder.jp/contests/abc207/submissions/23806639 二乗の木DPという手法を用いる。 知らないと解けない気もするが、計算量的なセンスがあれば自ら生み出せるかもしれ…

Mod i [AtCoder Beginner Contest 207 E]

https://atcoder.jp/contests/abc207/tasks/abc207_e 前提知識 https://blog.hamayanhamayan.com/entry/2017/02/27/021246 解説 https://atcoder.jp/contests/abc207/submissions/23805901 高度なDP。慣れていないと簡単ではないと思うのだが、500人も解くん…

Congruence Points [AtCoder Beginner Contest 207 D]

https://atcoder.jp/contests/abc207/tasks/abc207_d 前提知識 幾何知識 解説 https://atcoder.jp/contests/abc207/submissions/23804855 微妙に幾何知識が必要。 自分の解法は想定解法ではなく、かつ、コンパイル時最適化でTLEをごり消した解法です。 慣れ…

Many Segments [AtCoder Beginner Contest 207 C]

https://atcoder.jp/contests/abc207/tasks/abc207_c 解説 https://atcoder.jp/contests/abc207/submissions/23803776 区間をすべて[l,r)の半開区間に変換して比較をしよう。 [l,r] -> [l,r + 0.5) [l,r) -> [l,r) (l,r] -> [l + 0.5, r + 0.5) (l,r) -> [l …

Hydrate [AtCoder Beginner Contest 207 B]

https://atcoder.jp/contests/abc207/tasks/abc207_b 解説 https://atcoder.jp/contests/abc207/submissions/23803329 愚直にシミュレーションをしていって、目標が達成されれば即座に回数を答えれば答えになる。 ただ、目標が達成可能でない場合は無限に操…

Repression [AtCoder Beginner Contest 207 A]

https://atcoder.jp/contests/abc207/tasks/abc207_a 解説 https://atcoder.jp/contests/abc207/submissions/23802672 選んで手に取る組合せは3通りなのでそれをすべて列挙して最大値を求めてもいい。 自分の実装では、求めたい最大値は3つの数から大きい2つ…

Interval Game 2 [AtCoder Beginner Contest 206(Sponsored by Panasonic) F]

https://atcoder.jp/contests/abc206/tasks/abc206_f 前提知識 grundy数 解説 https://atcoder.jp/contests/abc206/submissions/23623437 今回の問題はgrundy数を知らないとまず解けない。 解説範囲がとても広くなってしまうので、grundy数についてはどこか…

Divide Both [AtCoder Beginner Contest 206(Sponsored by Panasonic) E]

https://atcoder.jp/contests/abc206/tasks/abc206_e 前提知識 約数系包除原理 解説 https://atcoder.jp/contests/abc206/submissions/23623547 しょっぱなから発想の転換が必要な問題。 類題を多く解いているので、すぐ思いついたが、そうでないと難しい。 …

KAIBUNsyo [AtCoder Beginner Contest 206(Sponsored by Panasonic) D]

https://atcoder.jp/contests/abc206/tasks/abc206_d 前提知識 UnionFind 解説 https://atcoder.jp/contests/abc206/submissions/23624301 以下の解説は、この問題はUnionFindを知らないと理解は難しいので、どこかで学習してきてほしい。 UnionFindを知らな…