徒然

思いついたら書きます

AtCoder上でscikit-learnを使って機械学習してみたい

はじめに

皆さんはAtCoderでscikit-learnが使えるのをご存知でしょうか?
現在*1AtCoderでは以下のライブラリが利用できます。
numba, numpy, scipy, scikit-learn, networkx
今回はせっかくなのでscikit-learnを利用して問題を解いてみました。

*1:2022年8月現在

続きを読む

Pythonで使えるnext_permutationを実装してみた

今まで配列列挙ではitertools.permutationsに任せきりだったのですが、仕組みを知りたかったので自作してみました。

辞書順で次の組み合わせが欲しいとか、重複なしの組み合わせを列挙したいとか*1C++に慣れているのでnext_permutation準拠のコードを書きたいとかいったときにお使いください。

*1:more-itertools.distinct_permutationsがAtCoderで使えれば良いけど2022/1現在は使えない

続きを読む

AtCoderで始めるCOBOL入門 ~演習編~

はじめに

前々回の記事前回の記事COBOLの基礎知識について記載してきました。
では実際に、AtCoderに登録したら解くべき精選過去問10問ことAtCoder Beginners Selectionの問題を解いていきます。

続きを読む

AtCoderで始めるCOBOL入門 ~演算・関数編~

はじめに

前回の記事ではCOBOLの概要や入出力の方法を記載しました。
本記事はその続きで、COBOLの演算文法や関数を記載します。
前回記事同様、目的はAtCoderの問題を解くことなので、解くのに必要ない仕様についてはほぼ触れません。
また筆者はにわかコボラーなため、この記事には嘘も書いてあるかもしれません。ご承知おきください。

続きを読む

AtCoderで始めるCOBOL入門 ~概要・入出力編~

はじめに

1959年に産声を上げたプログラミング言語であるCOBOLは、今なお世界中で動いています。
しかし今ではレガシーシステムの代表格に取り上げられており、COBOLを使うエンジニアもどんどん高齢化しています。
当然ナウなヤングにバカウケである競技プログラミングサイトことAtCoderでは、COBOLのような太古の言語を使う人はほとんどいません*1
しかしCOBOLを使ってみたいという風変わりな人がどこかにいるかも知れないので、そういった人に向けて記事を書き留めておきます。
なお本気で競プロをしたい場合は勧められない*2のでこれ以上読まないのが身のためです。
また目的はAtCoderの問題を解くことなので、解くのに必要ない仕様についてはほぼ触れません。
また筆者はにわかコボラーなため、この記事には嘘も書いてあるかもしれません。ご承知おきください。
(指摘コメントもお待ちしております)

*1:執筆時点で10AC以上しているアカウントは14のみ

*2:グローバル変数しかない、ハッシュテーブルがない、関数が少ないなどPythonに勝る部分が速度しかない

続きを読む

scipyで最大流問題を解く

はじめに

scipyにはsparse.csgraph.maximum_flowが用意されていて最大流問題が解けるようになっています。
しかしこれといって日本語の解説記事が見当たらないので書いてみます。

docs.scipy.org

続きを読む