競技プログラミング
AtCoder Beginner Contest 332 E - Lucky bagを半分全列挙で解いたので解法を書いておきます。
はじめに 分数のmodって何?AtCoderの注釈を読んでも意味わからないんだけど?といった方向けの記事です。 なおこの記事上は法(998244353や1000000007など)が素数であることを前提とします。
はじめに Mo's AlgorithmはABC242-GやABC293-Gで出題され、典型アルゴリズムとなりつつあります。 一度理解すれば納得しやすいアルゴリズムなのですが、初めて学習したときに巷の図では個人的に分かりにくかったのでブログ内で整理してみました。
はじめに ABC292のF問題で幾何問題が出ました。 自分は他の方と解答アプローチが異なったので解説記事を書いてみます。
はじめに 以前の記事でエラトステネスの篩を作成しました。 しかしこの篩ではLibrary CheckerのEnumerate PrimesでTLEしてしまいます。 そこで本記事では篩のさらなる改良を目指します。
トヨタ自動車プログラミングコンテスト2022(AtCoder Beginner Contest 270)にて、AtCoder開始以来ずっと目標にしていた青コーダーになりました! 初参加から3年少々かかりました。 青コーダーになりました!!!strangerxxxさんのトヨタ自動車プログラミング…
はじめに 皆さんはAtCoderでscikit-learnが使えるのをご存知でしょうか? 現在*1のAtCoderでは以下のライブラリが利用できます。 numba, numpy, scipy, scikit-learn, networkx 今回はせっかくなのでscikit-learnを利用して問題を解いてみました。 *1:2022年…
今まで配列列挙ではitertools.permutationsに任せきりだったのですが、仕組みを知りたかったので自作してみました。 辞書順で次の組み合わせが欲しいとか、重複なしの組み合わせを列挙したいとか*1、C++に慣れているのでnext_permutation準拠のコードを書き…
はじめに 前々回の記事、前回の記事でCOBOLの基礎知識について記載してきました。 では実際に、AtCoderに登録したら解くべき精選過去問10問ことAtCoder Beginners Selectionの問題を解いていきます。
はじめに 前回の記事ではCOBOLの概要や入出力の方法を記載しました。 本記事はその続きで、COBOLの演算文法や関数を記載します。 前回記事同様、目的はAtCoderの問題を解くことなので、解くのに必要ない仕様についてはほぼ触れません。 また筆者はにわかコボ…
はじめに 1959年に産声を上げたプログラミング言語であるCOBOLは、今なお世界中で動いています。 しかし今ではレガシーシステムの代表格に取り上げられており、COBOLを使うエンジニアもどんどん高齢化しています。 当然ナウなヤングにバカウケである競技プロ…
はじめに scipyにはsparse.csgraph.maximum_flowが用意されていて最大流問題が解けるようになっています。 しかしこれといって日本語の解説記事が見当たらないので書いてみます。 docs.scipy.org
はじめに いもす法は割と競プロの中ではメジャーなアルゴリズムですが、毎回書くよりclassで書いたほうが楽じゃないのと思ったけど誰もpythonで書いてなさそうだったので自分で書いてみてみたってやつです。
はじめに 「エラトステネスの篩 python」で検索すると色々実装されたものが出てきますが、一番上に出てくるページのコードは遅い実装である上にコード自体が間違っているという始末です(どのページかは伏せますがmax=4にすると4が素数判定されるのが1つの反…
はじめに 今日のyukicoder contest 246で関数の二分法に関する問題が出ました。 競プロPython勢ではAtCoderのD - 高橋君ボール1号をニュートン法(scipy.optimize.newton)で解く方法が有名かとは思いますが、二分法でもscipyのモジュールで解けるようなので使…
はじめに 今までAtCoderをやってきて最短経路問題を避けてきたのですが、レート水色目前にしてようやく重い腰を上げFloyd-Warshall法やDijkstra法などを勉強しました。 その中で最短経路問題を解くのにscipyのライブラリを使えることを知りました。 note.nkm…
はじめに AtCoder practice contest B - Interactive SortingをPythonで解いた記事が見つからないので、簡単に解説してみます。