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

Inside-Python - lru_cache

functools --- 高階関数と呼び出し可能オブジェクトの操作 — Python 3.7.3 ドキュメント pythonのlru_cacheはアノテーションとしてユーザの関数をデコレーションすることができ、 その呼び出しを監視し、結果をキャッシュするものである。 この実装はなかな…

Inside-Python - heapqとPriority Queue

最近cpythonのソースコードの中まで見ることが多いので、ネタごとにまとめてみる。 queue --- 同期キュークラス — Python 3.7.3 ドキュメント heapq --- ヒープキューアルゴリズム — Python 3.7.3 ドキュメント heapqはPythonの中で、二分ヒープを実装したも…

AtCoder Beginner Contest 126

ルール変更でBeginnerになりました。 atcoder.jp Nの制約がテストケースと違う気がする。 あまり確率の問題は得意ではないが、これはそこまで難しくない。 まずサイコロで初期確率は1 / Nずつになる。 さらにそれぞれの場所から始めたとき、Kを超えるまで連…

Google Code Jam Round1A - Alien Rhyme / Golf Gophers

codingcompetitions.withgoogle.com Alien Rhyme 接尾辞が一致するペアを可能な限り作る問題。 問題文読むのがつらいが、文字は50文字しかないので、実装自体はそこまで難しくない。 対象となる全Wordの末尾を取得し、2個以上被るものがあればそれを抜けばよ…

diverta 2019 Programming Contest

残念、Unratedになってしまった。運営の方々お疲れ様です。 atcoder.jp 例のごとく、assertの量がドはまり感を醸し出す。 まず、”AB"が含まれている場合はよい。で、単に末尾のAと先頭のBだけでなく、両方とも満たす場合は別に考える必要がある。 ここからAB…

Google Code Jam Qualification Round 2019 - Cryptopangrams / Dat Bae

https://codingcompetitions.withgoogle.com/codejam/round/0000000000051705/000000000008830b 疑似的な暗号化問題。 26個の素数が選ばれ、大小関係を維持したまま各アルファベットに割り当てられる。 アルファベットから構成される文章が各文字ごとに対応…

Google Code Jam Qualification Round 2019 - Foregone Solution / You Can Go Your Own Way

codingcompetitions.withgoogle.com 1813位でした。 Foregone Solution https://codingcompetitions.withgoogle.com/codejam/round/0000000000051705/0000000000088231 任意の数値を二つの和に分ける。ただし、その和は4を使ってはならない。 1桁ずつ、繰上…

AtCoder Grand Contest 033

AtCoder Grand Contest 032はRatingは上がったけれど大した問題は解けなかったので割愛。 Google Code Jamも書かなきゃ。 atcoder.jp 幅探索だろうとは思いつつ、あまり実装してなかったので、複数のスタート地点をまとめても全く問題がないことに気が付くま…