ポリオミノの敷き詰め問題をDancingLinksとKnuth's Algorithm Xを使って解く

ポリオミノの敷き詰め問題を解くプログラムを書いた。効率的に解くためにDancingLinksというデータ構造を実装し、Knuth's Algorithm Xを使用した。 ポリオミノの敷き詰め問題とは こういうパズルがAmazonで売っている。結構難しい。 Amazon | 明治ミルクチョ…

『選択しないという選択』のメモ

『選択しないという選択』を読んだ。デフォルトをおいてオプトイン・オプトアウト(選択しないという選択)にするか能動的選択を迫るか、どっちがどういうときにいいのか、更にパーソナライズを進めるとどうなるのか書かれている。 選択しないという選択: ビ…

urllibとBeautifulSoupでスクレイピングするときに調べたこと

Python3.6でリクエスト部分にurllib、パース部分にBeautifulSoup4を使って、スクレイピングをするときに調べたことを中心に使い方をまとめた。

メモ: 集合知プログラミング2章 推薦を行う

2章 - 推薦を行う 協調フィルタリングについての章 類似度を求める関数 入力 どのユーザーが、どのアイテムに、何点付けたか。 どのユーザーとどのユーザーの類似度を計算するか。 pref = [ {'A':5, 'B':4, 'C':1, 'D':0}, {'C':1, 'D':0}, {'A':4, 'B':2, '…

Competitive Programming Advent Calendar 2015, 2016まとめ

Competitive Programming Advent Calendar 2015, 2016を中心に、言及されている記事を集めました。 私が特に「いいね」と思ったものについては★を付けています。

Python3, C++11, JavaScriptでの実行時間計測

Python3,C++11,JSの実行時間計測まとめ

Anacondaで環境構築するときの一例

Anaconda便利ですね。WindowsでPython使うとインストールが不便なパッケージがたくさんあって困ります。 Anaconda使いましょう。 今回はソースコードを整形してくれるautopep8を使いたかったので環境を新しく作ってインストールしてみました。 conda create …