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

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

ARC 008 C - THE☆たこ焼き祭り2012(Go)

irisruneです。明日からGWです、休みの人もそうでない人も充実した10日間を過ごせればよいですね。 atcoder.jp なんと6年以上前の問題です。タイトルから問題文まで突っ込みどころが多すぎますが、推定難易度532点相当らしいです。 package main import ( "f…

ARC 048 B - AtCoderでじゃんけんを (Go)

irisruneです。本田圭佑選手とゲーセンのじゃんけんゲームはどっちの方が強いんでしょうかと思いました。 atcoder.jp 多分アルゴリズムを考えること自体はそこまで難しくはないと思うのですが、実装はやや重いと思います。 package main import ( "fmt" "sor…

Tenka1 Programmer Contest 2019 C - Stones をGoで解こうとしたら罠にハマりました (Go,Kotlin)

irisruneです。最近コンテスト時間に予定が被ってて参加できないのがよくないですね。 atcoder.jp アルゴリズム面は結論から言えば累積和を使いました。それで解けるはずだったんですけどね… package main import ( "fmt" ) func minInt(a, b int) int { if …

ABC 116 D - Various Sushi (Go)

irisruneです。回転寿司なんかに行くとできるだけ多くの種類のネタを食べる派です。 atcoder.jp 多分実装が難しい部類の問題じゃないでしょうか。結構ゴリゴリ書いたので長めです。 package main import ( "fmt" "sort" ) type susi struct { t int d int } …

square869120Contest #6 C Infinite Grid ※嘘解法/バグありAC (Go)

irisruneです。400点問題は解けましたが記事執筆中にバグに気付きました、最後に書くので考えてみてください。 atcoder.jp 個ではなく数百個くらいでも変わらないかな?とは思っていましたが、それを解法に結び付けるには至りませんでした。結構強引に解こう…

ABC 124-D Handstand を累積和を用いて解いてみる(Go)

irisruneです。新しめのABC-D問題を扱うのは久々ですね。 atcoder.jp 解説だけでも3種類の解き方が示されていますが、 今回用いた解き方は累積和を用いたしゃくとり法に少し近い解き方です。見た瞬間はUnion-Find木使うのかと思いました。 package main impo…

ABC 078-D ABS (Go) / CADDi 2018-D Harlequin (Java)

irisruneです。ゲーム理論系の問題で500点ばかり見るのは気のせいでしょうか。 今回は解いた問題の実装が軽かったのと、似たような問題が過去にあったので久々の2本立てです。 ABC 085-D ABS atcoder.jp あまり入出力例が多いとボロが出るから例3,4は自明な…

ABC 085-D Katana Thrower (Kotlin/Go)

irisruneです。この問題を選んだ理由は最近発売された某ゲームを連想したからです。 今回は構造体の配列が作れなくてGoを断念したのでKotlinで解いていましたが、 後でGoで解き直したので両方のコードを掲載します。 atcoder.jp 初見だとそれほど難しくなさ…

ABC 123-C Five Transportations Go言語環境構築編(Go)

irisruneです。最近のD問題難しくないですかね… atcoder.jp 前回に引き続きGo言語ですが、今回は環境構築を行ったのでネタ作りのためその辺にも触れる予定です。 package main import ( "fmt" "math" ) func minArray(arr []int, nCity int) int { var minCa…

AGC 024-A Fairness で新しい言語に挑戦してみる(Go)

irisruneです。今回はかなり軽めの記事です。 社内で今プログラミング言語始めるなら何がいいかという話題があり、 とりあえず調べてたらGo言語が割とおすすめに挙がっていたので試しに使ってみました。 https://atcoder.jp/contests/agc024/tasks/agc024_a …

AGC 023-A Zero-Sum Ranges に失敗談を添えて(Kotlin/Java)

irisruneです。令和と聞いてこの問題が出てくる人はすごいと思いました。 今回は4提出分のコードがあるのでまた長いです。 atcoder.jp 約1年前の問題で、自分がAtCoderを始めて1月もしないうちに挑戦したそして玉砕した問題です。 この記事で触れました累積…

AGC 122-D We Like AGC (Kotlin)

irisruneです。500点問題が厳しいので予定を変更して先週扱わなかったこの問題を。コードがかなり長いです。 atcoder.jp Twitterで検索をしたら糸口というかほぼ答えが見つかったので解いてみました。 …が方針変更が激しくて変数名とかがめちゃくちゃになっ…

AGC 032 A Limited Insertion (Kotlin)

irisruneです。今回は少し長めに書いてみました。 atcoder.jp この問題は解き方は明確なんですが、 そこにたどり着くまでが長かったので思考面に重点を当てたいと思います。前回言った糸口は嘘でした。 fun main(args: Array<String>){ val n = readLine()!!.toInt()</string>…

ABC 122-C GeT AC (Kotlin)

irisruneです。先週のAGCはA問題早解きで1300出ないらしいしABCはD問題が難しすぎるし過酷ですね… atcoder.jp この問題は数列の部分和を求める問題と(ほぼ)等価です。つまり典型問題ですね。 あらかじめ数列(文字列)の先頭から各インデックスまでの累積…

ABC119 D Lazy Faith を二分探索を使わずに解く(C++)

irisruneです。一昨日のAGCは所用で参加できなかったので今日も過去問になります。 前回と同様、今回もC++での提出コードです。 https://atcoder.jp/contests/abc119/tasks/abc119_d この問題のポイントは に(東西それぞれで)最寄りの神社と寺を高速で求め…