links
りんくとか
twitter
https://twitter.com/rydotyosh
hatenablog
http://rydot.hatenablog.com/
soundcloud
https://soundcloud.com/rydotyosh
https://twitter.com/rydotyosh
hatenablog
http://rydot.hatenablog.com/
soundcloud
https://soundcloud.com/rydotyosh
CGJ 2012 QR
図形問題だけ解いて逃げるつもりだったけど、TL見てると他の問題もおもしろそうだったのでそっちも解いてみたら、
ひゃくてんだー(
D問メモ
最初問題を勘違いして、ある方向にレイをうてばいいのかなーって思った。
そんなことはなくて、全方向だった。
ぜんぶ格子上に乗ってるので、戻ってくるとすればx,yにそれぞれ整数距離だけ進んだ方向にうったレイに限られる。
方針としては、レイをうつ方向を見つけてきて、その方向にレイをうって戻ってくるかを確かめる。
反射位置は有理数になるから有理数クラスでも書こうかと思ったけど、めんどくさいからフィールドのほうを整数倍拡大してみることにした。まあ結局どっちもいっしょだけど。
そこまで決めたところで、ジャッジシステムどうなってるのかなと思って、
うかつにもSolveボタンを押してしまって、残り4分とか出て、
4分ではたぶん難しいと思います。
smallに提出したやつ
http://ideone.com/u44VD
実行速度がおそくて4分ぎりぎりで超エキサイティングしてた。
方向を求めるところが遅いみたいだったのでそのへんを修正してlargeに提出した。
largeに提出したやつ
http://ideone.com/D8gKS
D問だけで5時間ぐらいかかったので初心者ですね。
実行時間は20秒ぐらいだった。
あとで@hasi_tくんが「javascriptで」20秒、C++で3秒ぐらいでできたって言ってたので秀才ぐぬぬとか言ってた。
そのあとで-O2つけたら8秒ぐらいだった。
他の問題もおもしろかったです。
ひゃくてんだー(
D問メモ
最初問題を勘違いして、ある方向にレイをうてばいいのかなーって思った。
そんなことはなくて、全方向だった。
ぜんぶ格子上に乗ってるので、戻ってくるとすればx,yにそれぞれ整数距離だけ進んだ方向にうったレイに限られる。
方針としては、レイをうつ方向を見つけてきて、その方向にレイをうって戻ってくるかを確かめる。
反射位置は有理数になるから有理数クラスでも書こうかと思ったけど、めんどくさいからフィールドのほうを整数倍拡大してみることにした。まあ結局どっちもいっしょだけど。
そこまで決めたところで、ジャッジシステムどうなってるのかなと思って、
うかつにもSolveボタンを押してしまって、残り4分とか出て、
4分ではたぶん難しいと思います。
smallに提出したやつ
http://ideone.com/u44VD
実行速度がおそくて4分ぎりぎりで超エキサイティングしてた。
方向を求めるところが遅いみたいだったのでそのへんを修正してlargeに提出した。
largeに提出したやつ
http://ideone.com/D8gKS
D問だけで5時間ぐらいかかったので初心者ですね。
実行時間は20秒ぐらいだった。
あとで@hasi_tくんが「javascriptで」20秒、C++で3秒ぐらいでできたって言ってたので秀才ぐぬぬとか言ってた。
そのあとで-O2つけたら8秒ぐらいだった。
他の問題もおもしろかったです。
GCJとAtCoderがあった
GCJの予選とAtCoderの残骸に寄ってみた。
競技プログラミングとかたまにやるとすごく虐げられておもしろい。
AtCoderの競技自体は盛大にぶっ壊れてたけど@chokudai先生の人徳あるし大丈夫だろう。
そのAtCoderはHaskellがサブミットできるみたいなのでまだまだへたくそなHaskellで書いてみた。
サブミットしたやつ
http://ideone.com/aKKdZ
なんかきたない。同じ文字が何回も出てきてるし。
ちょっと修正したやつ
http://ideone.com/4z7SA
出力まわりがイミフだったので少し整えてみた。タプルよりリストのほうが使いやすいのかな?
なんかmapのラムダがちょっと気になるので聞いてみた
https://twitter.com/#!/rydotyosh/status/191184500376604672
@SubaruG先生が内包表記でいいんじゃねって言ったから内包表記にしてみたやつ
http://ideone.com/PiVcW
@fumieval先生がflipって言ってたんだけど複雑すぎて理解できなかったorz
GCJはまだ解答出てないしまあいいや。
競技プログラミングとかたまにやるとすごく虐げられておもしろい。
AtCoderの競技自体は盛大にぶっ壊れてたけど@chokudai先生の人徳あるし大丈夫だろう。
そのAtCoderはHaskellがサブミットできるみたいなのでまだまだへたくそなHaskellで書いてみた。
サブミットしたやつ
http://ideone.com/aKKdZ
なんかきたない。同じ文字が何回も出てきてるし。
ちょっと修正したやつ
http://ideone.com/4z7SA
出力まわりがイミフだったので少し整えてみた。タプルよりリストのほうが使いやすいのかな?
なんかmapのラムダがちょっと気になるので聞いてみた
https://twitter.com/#!/rydotyosh/status/191184500376604672
@SubaruG先生が内包表記でいいんじゃねって言ったから内包表記にしてみたやつ
http://ideone.com/PiVcW
@fumieval先生がflipって言ってたんだけど複雑すぎて理解できなかったorz
GCJはまだ解答出てないしまあいいや。
Schemeインタプリタ
Schemeを勉強していたんだけど、面白いの↓があったのでまねしてみた。
JavaScriptでつくるSchemeインタプリタの基礎の基礎
なんかできたやつ↓
scheme.html
上のテキストエリアにS式を入れてexecをおすとなんとなく実行されるかも。
変なS式を入れると無限ループしたりするので注意してね。
JavaScriptでつくるSchemeインタプリタの基礎の基礎
なんかできたやつ↓
scheme.html
上のテキストエリアにS式を入れてexecをおすとなんとなく実行されるかも。
変なS式を入れると無限ループしたりするので注意してね。
包絡線で遊ぼう
包絡線というのは、ある形状がパラメータとともに変化していくとき、
これらの形状に接するような曲線のこと。
日常生活に不可欠な包絡線だけど、どうやって計算するか知らないことに気がついたので
ちょっと遊んでみた。
参考:
物理のかぎしっぽ 包絡線
http://hooktail.sub.jp/mathInPhys/envelope/
これらの形状に接するような曲線のこと。
日常生活に不可欠な包絡線だけど、どうやって計算するか知らないことに気がついたので
ちょっと遊んでみた。
参考:
物理のかぎしっぽ 包絡線
http://hooktail.sub.jp/mathInPhys/envelope/