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

Project Euler 513

http://projecteuler.net/index.php?section=problems&id=51366着。 方針はすぐに立ち、コードを書くのがめんどうなだけだった。しかし、いざ完成してみると、メモリが足りない。いろいろ工夫してみたが、やっぱり足りない。 けれど、ごり押しすればメモリが…

Project Euler 512(2)

http://projecteuler.net/index.php?section=problems&id=5121秒になった。 これは頻出テクニックを使う。パッと見、O(NlogN)っぽかったが、どうやるのか忘れていたので、帰りに考えていたら思いついた。 なぜこの問題に限ってごり押しが可能になっているの…

Project Euler 512

http://projecteuler.net/index.php?section=problems&id=51239着。80秒。 ごり押しするだけだったが、単純にコピペするだけだとメモリが4GBくらい必要だった。それで半分になるようにしたらギリギリメモリが足りないようだった。それでさらに半分になるが遅…

Project Euler 511

http://projecteuler.net/index.php?section=problems&id=51127着。 これは簡単だった。ただし、90秒ほどかかっている。速くする方法も思いついていない。

Project Euler 490(2)

http://projecteuler.net/index.php?section=problems&id=490バグに苦しみながらも、とりあえず1乗の和なら速く出るようにした。しかし、3乗はなんともならない。フィボナッチ数列ならすぐになんとかなるんだけど、それよりも複雑なので難しい。

Project Euler 502(5)

http://projecteuler.net/index.php?section=problems&id=50255着。3分。 F(10000, 10000)はつまらない理由で遅かった。 F(100, 10^12)が2分かかっている。これを何とかしたいが。F(10^12, 100)は非常に基本的。これを少し改良するとF(10000, 10000)が出る。…

Project Euler 502(4)

http://projecteuler.net/index.php?section=problems&id=502ずっとうまく動かなかった幅が狭い時用のコードにつまらないバグを発見した。これでF(100,10^12)がようやく出た。2分だった。あとはなぜか遅いF(10000,10000)を何とかするだけだ。

Project Euler 510

http://projecteuler.net/index.php?section=problems&id=51081着。 簡単だが、いろいろ計算ミスをしていた。

Project Euler 502(3)

http://projecteuler.net/index.php?section=problems&id=502もうちょっと考えて工夫したら、O(W^3)になるっぽい。

Project Euler 502(2)

http://projecteuler.net/index.php?section=problems&id=502ちょっと工夫することによって、O(WH)になることに気が付いた。 しかし、Pythonで組んで動かしてみると、O(W^2H)っぽい。なにかPythonの罠があるのだろうか。全然わからない。

Project Euler 502(1)

http://projecteuler.net/index.php?section=problems&id=502昨日から考え直している。前の方法はほぼ捨てて、なるべく違う方法をと考えた。 昨日の帰り電車降りる間際に高さが低い時の解法を思いついた。そして、今朝の電車の中でちゃんと整理して、帰って…