サブロウ丸

Sabrou-mal サブロウ丸

主にプログラミングと数学

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

bitDPで巡回セールスマン問題を解く; Python

巡回セールスマン問題をpythonで解きます。 01整数計画法を使っても解けますが、今回は動的計画法を使用します。 解説 解説用のpdfを文書を作成したので是非ご覧ください。 drive.google.com pythonコード DPは配列ではなく、辞書を使用しています。 次回か…

Python と OpenCV で 類似画像検索

全く同じ画像だけではなく、より幅広く'似てそう'な画像を探します。 OpenCVのインストール OpenCVのインストールに関するページがネット上に多数あることから、OpenCVのインストールの難しさ(というより、やっかいさ?)が伺えますが、例に違わず僕もOpenCVの…

Python 集合と自然数との対応付け

下記のような、集合と自然数の対応付けを考えます。 {0, 1, 2, 3} <—> 15 基本的な考えは2進数表記です。 {0, 1, 2, 3} <—> 20 + 21 + 22 + 23 = 15 {0, 1, 3} <—> 20 + 21 + 23 = 11 これをそのまま関数にすると、 def set2int(_iter): res = 0 for i in _i…

【Mac】ターミナル ショットカットキー

ターミナルでpythonと打ち込むときに pyhtonになっていたりpyてょんになったりしますよね。 これが煩わしいので、ショットカットキーを設定しようと思います。 ターミナルの環境設定から右のキーボードを選択し、「+」を押してキーとアクションを設定します…

Pythonスクリプト内でシェルコマンドを使う

subprocess シェルの中で他のプログラムを起動し、そのプログラムが生成した出力を知りたいだけなら、getoutput()関数を使う。 import subprocess as sp ls = sp.getoutput('ls') ls > 'Applications\nDesktop\nDocuments\n...(略)' オプションとパイプ、リ…

Python collections の Counterオブジェクト

下記の問題を解きます。 kamipeipaa君は新しいものが大好きです。 kamipeipaa君はある日N個の整数A1,A2,A3,....,ANを見つけました。 整数Aiに対して,Ai=Ajとなるjがi以外に存在しなければ,Aiは新規性があるのではないかとkamipeipaa君は考えました。 上記…