2015-04-01から1ヶ月間の記事一覧
http://projecteuler.net/index.php?section=problems&id=51366着。 方針はすぐに立ち、コードを書くのがめんどうなだけだった。しかし、いざ完成してみると、メモリが足りない。いろいろ工夫してみたが、やっぱり足りない。 けれど、ごり押しすればメモリが…
http://projecteuler.net/index.php?section=problems&id=5121秒になった。 これは頻出テクニックを使う。パッと見、O(NlogN)っぽかったが、どうやるのか忘れていたので、帰りに考えていたら思いついた。 なぜこの問題に限ってごり押しが可能になっているの…
http://projecteuler.net/index.php?section=problems&id=51239着。80秒。 ごり押しするだけだったが、単純にコピペするだけだとメモリが4GBくらい必要だった。それで半分になるようにしたらギリギリメモリが足りないようだった。それでさらに半分になるが遅…
http://projecteuler.net/index.php?section=problems&id=51127着。 これは簡単だった。ただし、90秒ほどかかっている。速くする方法も思いついていない。
http://projecteuler.net/index.php?section=problems&id=490バグに苦しみながらも、とりあえず1乗の和なら速く出るようにした。しかし、3乗はなんともならない。フィボナッチ数列ならすぐになんとかなるんだけど、それよりも複雑なので難しい。
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)が出る。…
http://projecteuler.net/index.php?section=problems&id=502ずっとうまく動かなかった幅が狭い時用のコードにつまらないバグを発見した。これでF(100,10^12)がようやく出た。2分だった。あとはなぜか遅いF(10000,10000)を何とかするだけだ。
http://projecteuler.net/index.php?section=problems&id=51081着。 簡単だが、いろいろ計算ミスをしていた。
http://projecteuler.net/index.php?section=problems&id=502もうちょっと考えて工夫したら、O(W^3)になるっぽい。
http://projecteuler.net/index.php?section=problems&id=502ちょっと工夫することによって、O(WH)になることに気が付いた。 しかし、Pythonで組んで動かしてみると、O(W^2H)っぽい。なにかPythonの罠があるのだろうか。全然わからない。
http://projecteuler.net/index.php?section=problems&id=502昨日から考え直している。前の方法はほぼ捨てて、なるべく違う方法をと考えた。 昨日の帰り電車降りる間際に高さが低い時の解法を思いついた。そして、今朝の電車の中でちゃんと整理して、帰って…