matsulibの日記

Ingredients as Code

2014-01-01から1年間の記事一覧

Pythonでリストからn番目に大きな要素を取り出す

最近はずっとプログラミングできてなかったけど、ふと前に授業で使ってたノートを見たら「縮小法」なるアルゴリズムが載っていた。これはリストからn番目に大きな要素を取り出すアルゴリズムで、英語版wikipediaではmedian of mediansという項目に詳しく書か…

Pythonでmultiprocessing.Poolを使ってお手軽並列処理

2コア4スレッドCPUのマシンでPythonを使ってるとCPU使用率が25%までしかならなくて、これが100%まで使えればもっと高速化できるのではないかと思っていた。CPU使用率100%のためにはmultiprocessingモジュールを使って並列処理すれば良い。並列処理といえばプ…

Project Eulerで初めて100番以内に入った

うれしい。 ・Problem 476 - Project Euler 60th solver of Problem476 is matsulib from Japan.— Project Euler (@projecteulerbot) June 15, 2014Mapleで連立方程式を解いて出てきた数式をPyPyに突っ込んだだけ。実行時間は30分くらい。(後日改良してマル…

FizzBuzz・スライス・剰余計算

このFizzBuzzのコードがどうなってるのかすぐに分からなかったのでメモ。 http://codepad.org/fizzbuzz#Python for i in range(1,101): print("FizzBuzz"[i*i%3*4:8--i**4%5] or i) まず (1) "FizzBuzz"[i*i%3*4:8--i**4%5] は文字列のスライスである (2) (1…

Vector Magic に小さい画像を入力すると味わい深い感じになる

はじめに 先日見つけた、荒い画像のブロック感を低減するためのマイクロソフトの研究成果 ・Depixelizing Pixel Art これを見ると確かにマイクロソフトの手法は綺麗に表現出来ててすごい。 リンク先には動画もあって、これを使えば移植も捗るんじゃないかと…

線形計画問題に対する内点法 in Python

内点法にもいろいろある。ここでやるのはもちろん一番簡単なやつ。・主アフィンスケーリング法 - 経営工学専攻 - 東京工業大学 http://www.me.titech.ac.jp/~mizu_lab/text/PDF-IP/IP2A-affine.pdf を見てPythonでナイーブに実装した。・行列演算はライブラ…

TopCoderってPythonが使えるんだね

TopCoderのアカウントは2009年に作ったまま放置してたけど、どうやら去年7月からTopCoderでもPythonが使えるようになってたらしい。実行速度とかは大丈夫なんだろうか…しかし2009年当時から問題を見たり回答を提出するためのArenaの使いにくさは変わらず、デ…