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

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

2019-09-01から1ヶ月間の記事一覧

AtCoder ABC 142 D - Disjoint Set of Common Divisors (Go)

irisruneです。もう9月も終わりですが、残暑が続きますね。 問題 atcoder.jp アルゴリズムは単純なので難易度は比較的低いですが、素因数分解が必要なため割と面倒な問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner…

AtCoder Mujin Programming Challenge 2017 B - Row to Column (Go)

irisruneです。1300点問題が解けたのは嬉しいです。 問題 atcoder.jp 得点が高いですが、アルゴリズムや実装の難しさよりも数学パズル寄りの問題だとは思います。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func …

AtCoder AGC 038 A - 01 Matrix (Go)

irisruneです。やはりAGCはB問題が安定しないと手が出し辛いです。 問題 atcoder.jp いつものAGC-Aらしく数学パズル的な問題です。嘘解法ではないはずですが実行時間1978msでした。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Sca…

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 ABC141 D - Powerful Discount Tickets (Go)

irisruneです。D問題が大体安定して解けるようになっている辺り成長を感じますね。 問題 atcoder.jp Go言語にとってソート以上の鬼門と言えるであろうヒープを使う問題です。 package main import ( "bufio" "container/heap" "fmt" "os" "strconv" ) var sc…

AtCoder ARC059 E - キャンディーとN人の子供 / Children and Candies (Go)

irisruneです。今回は部分点込みの解説になるのでコードの分量が多めなのと、式を使った解説が多くなっています。 問題 atcoder.jp 部分点解法は典型的な…?DP問題、満点解法はその発展となっています。 部分点解法(400点) package main import ( "bufio" …

AtCoder ABC140 D - Face Produces Unhappiness (Go)

irisruneです。青パフォを出すのはなかなか難しいですね。 問題 atcoder.jp 律儀にシミュレートしようとすると難しく思える問題ですが、解き方は意外と単純です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextInt…

AtCoder ABC140 C - Maximal Value (Go)

irisruneです。台風の影響により、今週は火・水・金の投稿となります。 問題 https://atcoder.jp/contests/abc140/tasks/abc140_c からを逆算するにはどうすればいいかという問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio…

AtCoder AGC006 B - Median Pyramid Easy

irisruneです。ABC-F問題の壁は厚いですね。 問題 atcoder.jp 順列をどのように構築すればよいかがわかれば、順列が存在し得るかどうかも自然とわかります。あるいは小規模なケースで試してみるのもよさそうです。 package main import ( "bufio" "fmt" "os"…

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

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

AtCoder ABC139 D - ModSum (Go)

irisruneです。暑さも多少和らいで雨も収まり過ごしやすくなったように思います。 問題 atcoder.jp 理論立てて考えないと、あまりに単純な解法すぎて戸惑うかもしれません。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner fu…