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

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

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

AtCoder ABC 131 E - Friendships

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

AtCoder ABC 131 B - Bite Eating (Go)

irisruneです。ここ最近競技プログラミングに使う言語についてまた悩んでいるところです。 問題 atcoder.jp 実はD問題より解く時間がかかったので取り上げることにしました。絶対値の差ではなく差の絶対値なので誤読しないようにしましょう。 package main i…

AtCoder ABC 131 D - Megalomania (Go)

irisruneです。新形式になって以降C,D問題が簡単になったとは思っていましたが、今回はかなり極端だった気がします。 問題 atcoder.jp 解答者にとってはどちらかと言えばMegalomaniaよりParanoiaみたいな問題です。 package main import ( "bufio" "fmt" "os…

AtCoder ABC 131 C - Anti-Division (Go)

irisruneです。久々にコンテストに参加した結果、5完で1242→1292とレートが伸びました。 問題 atcoder.jp 典型テクニックの寄せ集めのような問題だと思います。 なお、コンテスト本番でPythonを使う度胸はなかったので久々にGo言語で書いております。 packag…

Paiza プログラミング練習問題 S - 文字列収集 (Python)

irisruneです。先週に引き続き2度目のPaiza練習問題記事です。 問題 paiza.jp 前回とは対照的に、Sランク相当ではありますが正解率が高めとなっております。とはいえSランク問題に挑戦するような人が母数なのでそこまで簡単なわけではないです。 import sys …

AtCoder ABC 130 D - Enough Array (Python)

irisruneです。AtCoderで言語アップデートがあるそうで、色々な言語が使いやすくなるといいですね。 問題 atcoder.jp 連続部分列とみると累積和を取りたくなりませんか?累積和を取った場合は二分探索が手っ取り早いと思います。 import sys import bisect i…

AtCoder diverta 2019 Programming Contest 2 C - Successive Subtraction

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

AtCoder diverta 2019 Programming Contest 2 B - Picking Up (Python)

irisruneです。今週もコンテストは出ていませんでした、コンテスト開催日時に合わせて色々調整することも考えないといけませんね。 atcoder.jp C問題よりも難しいと感じる人もいたそうです。確かに問題文だけ見るとC問題の方が単純そうには見えました(まだC…

Paiza プログラミング練習問題 A - じゃんけんの手の出し方 (Python)

irisruneです。普段はAtCoderの問題を解いていますが、弊社がPaizaで求人を出していることもあって今回はPaiza プログラミング練習問題を解く記事を出してみました。 問題 paiza.jp (タイトルからわかりにくいと思いますが、問題ページへのリンクです。) A…

AtCoder ABC 129 E - Sum Equals Xor(Python)

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

AtCoder ABC 129 D - Lamp Pythonで解けなかったのでJuliaで(Python, Julia)

irisruneです。C問題ではテストケースでトラブルがありましたが、D問題ではPythonの実行時間で少し騒ぎになっていたようですね。 問題 atcoder.jp 公式解説と少しアルゴリズムが違いますが大体同じ解き方です。具体的には、連続する障害物のないマスの数を走…

AtCoder ABC 129 C - Typical Stairs (Python)

irisruneです。今回不参加でしたがトラブルがあって大変だったみたいですね。 問題 atcoder.jp 当のトラブルがあった問題です。問題自体は最近珍しい気もする典型問題です。 import sys import numpy as np MOD = 1000000007 def main(): n, m = [int(x) for…

AtCoder ABC 123 D - Cake 123 をNumpyを用いてスマートに解きたかった話 (Python)

irisruneです。Numpyを有効に使って計算時間を短くしたかったのですが、なかなか難しいですね。 問題 atcoder.jp 公式解説でも解法が複数説明されていますが、どう解くとしても手法に工夫が必要でかなり難しいです。AtCoder ProblemsのDifficulty684しかない…

AtCoder AGC 034 B - ABC (Python)

irisruneです。当初Pythonで解けなくてGoで解いていたのですが、ミスに気付いたのでPythonで解き直しました。TLEしたときにすぐPythonのせいにするのはよくないですね。 atcoder.jp 600点としてはかなり簡単な方で、少なくとも土曜日の企業コン500点問題より…

AtCoder AGC 034 A - Kenken Race (Python)

irisruneです。Pythonを勉強し始めたので解ける問題はPythonで解くことが多くなると思います。 atcoder.jp 一見難しそうで思いつけば簡単…と思わせて引っ掛けポイントがある、そんな問題だと思います。 import sys n, a, b, c, d = [int(x) for x in input()…

AtCoder ABC 128 D - equeue (Go)

irisruneです。この土日のコンテストは不参加だったのもあり記事にするのは間に合いませんでした。 https://atcoder.jp/contests/abc128/tasks/abc128_d "D"equeueとかけてるからD問題なんですかね。B、Cが難しければDも難しいときました。効率の良い方法を…