あるエンジニアのAtCoder奮闘記

東京都港区にあるアミフィアブル株式会社のエンジニアが、AtCoderで解いた問題について振り返ったりしていく会社公認のブログです。

500点

AtCoder AGC 019 B - Reverse and Compare (Go)

irisruneです。GoのLanguage Owner入りをのんびり目指していきたいです。 問題 atcoder.jp 除外して良いケースをどのように導き出すかという問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() string …

AtCoder E - Gluttony 解説AC (Go)

irisruneです。AtCoderの数学問題は注目を集めやすい印象です。 問題 atcoder.jp 大きなポイントが2つあり、どちらが欠けても上手くいかない問題です。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func nextStr() …

AtCoder ABC 143 E - Travel by Car (Go)

irisruneです。コンテストに出る習慣をどうにか取り戻したいところです。 問題 atcoder.jp 難しいアルゴリズムが求められそうですが、実装力があれば解けてしまう問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner fu…

AtCoder AGC 039 B - Graph Partition (Go)

irisruneです。今週は台風の影響で公式コンテストが開催されないそうです。 問題 atcoder.jp どのような場合に条件を満たす分割が可能か、どのようにして分割の最大数を求めるかがポイントになります。 package main import ( "bufio" "fmt" "os" "strconv" …

AtCoder CODE FESTIVAL 2016 qual B C - Gr-idian MST (Go)

irisruneです。少し時間が取れなかったので月曜から過去問です。 問題 atcoder.jp 最小全域木を生成するアルゴリズムに貪欲法の要素を加えた感じになります。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() s…

AtCoder ABC 142 E - Get Everything 解説AC (Go)

irisruneです。解説ACですが記事にすることはできそうでした。 問題 atcoder.jp これも一つのbitDPではありそうですが、特殊なケースになると思います。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() string…

AtCoder ABC 141 E - Who Says a Pun? (Go) ※嘘解法

irisruneです。実行時間1945msはかなり攻めた嘘解法だと思いました。 問題 atcoder.jp 一見愚直に解けそうに見えますが工夫が必要な問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() string { sc.Sca…

AtCoder ABC139 E - League (Go) 失敗例と成功例(嘘解法?)

irisruneです。今週は解説の難しい問題ばかりで少し難儀しますね。 問題 atcoder.jp 実装するだけの問題とみせかけて、アルゴリズムを考える必要がある問題です。 失敗例 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func …

AtCoder ABC 138 E - Strings of Impurity (Go)

irisruneです。久々に比較的易しめなE問題だった気はします。 問題 atcoder.jp 発想力が占める比重がかなり大きい気はします。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func nextInt() int { sc.Scan() i, e :=…

AtCoder ABC 136 E - Max GCD (Go)

irisruneです。問題の解説など試行錯誤していますが、アドバイスや感想などコメントを貰えると嬉しいです。 問題 atcoder.jp あることに気付かないとどうにも方針が立てられないので、かなりパズル要素が強い問題だと思います。 package main import ( "bufi…

AtCoder ABC 134 E - Sequence Decomposing (Python)

irisruneです。最近晴れることが多くなりましたが、週末を狙って台風が来るのは辛いですね。 問題 atcoder.jp どのようなアプローチで解けばよいかが思いつきにくい問題だと思います。 import sys import bisect import collections def input(): return sys…

AtCoder ABC 133 E - Virus Tree 2

irisruneです。個人的に以前のABCの4完が最近のABCの5完に相当するように思えるのですが、誰か統計取ったりしているのでしょうか。 問題 atcoder.jp 500点問題の割にアルゴリズムも実装もかなり軽めで、発想系の問題だと思いました。 import sys import coll…

AtCoder ABC 132 E - Hopscotch Addict (Kotlin)

irisruneです。どうにか自力ACできたのでE問題も取り上げることにしました。 問題 atcoder.jp AtCoder上に類題がほぼないらしく、正解率が低めだったそうです。最短経路問題を理解しているならば、試行錯誤によって解法を思いつくのは割と難しくないかもしれ…

AtCoder ABC 131 E - Friendships

irisruneです。今週またABCがあるようなのでなるべく参加できるように調整したいですね。 問題 atcoder.jp 最短距離というワードがありますが、探索系(実装系)の問題ではなく考察系の問題なので気を付けましょう。 package main import ( "bufio" "fmt" "o…

AtCoder diverta 2019 Programming Contest 2 C - Successive Subtraction

irisruneです。他言語に慣れているとpythonの変数名にキャメルケースを使おうとするたびに警告を出されるのはもやもやします。 atcoder.jp B問題より簡単という噂を聞きましたが全然そんなことはなかったです。見た目以上に考えることが多く、ACするのに5回…

AtCoder ABC 129 E - Sum Equals Xor(Python)

irisruneです。最近AtCoder ProblemsのRecommendationsがスパルタに感じてきました。 問題 atcoder.jp 桁DPというヒントを見てしまいましたがほぼ自力です、多分。6/10の記事で実装が重いかと予想していましたが全然重くありませんでした。 import sys impor…

AtCoder ABC 126 D - Even Relation / E - 1 or 2 失敗例と解き直し (Go)

irisruneです。今回のコンテストは3完で冷えましたが…Unratedでしたね。 どちらもコンテスト中には解けなかったので解説ACです(正確にはE問題の解説を読んでD問題も解きました)。 ABC 126 D - Even Relation atcoder.jp のダイクストラ法で解けるような最…

diverta 2019 Programming Contest C - AB Substrings / D - DivRem Number 失敗例と嘘解法(Go)

irisruneです。久々にコンテストに参加したらUnratedになったなんとも言い難いお話。 C - AB Substrings atcoder.jp 全探索は(かかるため)できないとして、計算で求めるための場合分けが難しかったです。まずは失敗例を。 package main import "fmt" func …