[ProjectEuler感想] ~2019/06/08

スポンサーリンク

進捗

ブログをつけ始めました。これのことです。過去分も書いています。半分記憶頼りですが、内容は「一人slack」に蓄積してあったので、そこから拾って記載しています。

先週分まで日曜日区切りで記事を作りましたが、土曜区切りで日曜日に執筆する流れにしよう。

592問 → 604問

  • 6/03 [611] [424]
  • 6/04 [553] 
  • 6/05 [599] [507] [526] [652]
  • 6/06 [433]
  • 6/07 [629] [627] [502] 
  • 6/08 [547]

600問達成。最高レベルまであと21問と来ました。

 

毎日1問以上解くノルマは、そろそろ厳しくなってきました。というか実は微妙に破綻しています。余裕がある日にたくさん解いて、最後の詰めだけわざと翌日に回したりとか…無意味な努力が始まっているw

「この問題は1週間丁寧に考えれば解けそう」と思ったとしても、毎日成果を出そうとすると後回しになっちゃったりしていますし。毎日問題は考え続けるけれど、そろそろ正解は断続的になっていきそうです。

それから、難易度100%の問題を初正解しました。
正直、難易度100%というだけで、考察を進める余地があっても後回しにしていました。他にも倒せる問題を探してみようかな?

感想、勉強したことなど

・とある問題で(ややバレバレかも)pulpにより整数計画問題を解く。経験は2度目。そのまま実装していくという感じで実装できて簡単。しかし、制約条件のsort順を変えるだけで解が見つからないなどの(仕様?不具合?)に遭遇する。日本語ブログで取り扱いは多いが、いまいち解消しない。
ortoolsも使ってみた。実行速度なども含めて、こちらの方が使用感が良いように感じた。日本語ブログでの取り扱いも少ないようだし、別記事で取り上げてみようかな。

・[526] どんな解でも拾えるようにいろいろ対策したけど、結構単純な解。もうちょっと非自明なものを調べる問題の方が面白いと思う。3分ほどかかる。最適解の構造を決め打つと計算量は減るけれど結果論な感じ。

・[433] シンプルだが難しかった。まだ色々できそうだが、ひとまず20分ほどで答が出るようになったので提出。
Forumを見たら、20時間だ30時間だみたいな人も結構居て笑う。自分と同じ解法も1人居た。

・[627] 解ける問題だということはすぐに分かるが、丁寧な場合分けをこなしきるのが難しく見える。場合分けをした後の計算について色々考えていたら、一気に簡単に書ける気づきを得た。Forumを見ると主流な解法だったようだ。

・[502] 実は100%ということでほとんど見ていなかったのだが、定期全問周回をしているときに、「あれ?物凄く簡単すぎませんか?」と目に止まる。少し条件を外すと一気に最低難易度クラスの数え上げに変わる…。主旨を理解したら、3つのうち2つを求めるのはせいぜい50%難易度程度のように感じた。残りの1つは実装難に感じたが、計算手順を整理しているとスグに仮説が立って立証もできた。

全く同じ問題なのに入力サイズに応じて手法を変えることを要求できているのが面白くて好き問題です。それらも軽く結びつきがあって、そのおかげで思考が整理しやすかった。1番難しいタイプだけで出題された方が、解く難易度は難しかったかもしれない。

タイトルとURLをコピーしました