ToDo:
ふたたび安全圏に
http://www.spoj.pl/SHORTEN/ranks/
計算系の問題で bash 使ってトップだった人達が何してたかを完全に把握したので、 後はゴルフというわけでかなりの問題でトップに。
それは楽しかったのだけど、 正直 ruby とか perl で詰め切れてない問題をなんとかするのはだるいぞ…
一番謎な問題としては PIZZAS とかがあるのだけど、 なんでこんなアホみたいな差がついてるかな…
http://www.spoj.pl/SHORTEN/problems/PIZZAS/
(02:15)
そういえば TLE の HEART のトップの解答は読んだ。
どういうふうにやってるかというと、高さを 10 pixels ずつで切って、 その 350x10 の部分に対して、
って感じで塗ってく、って感じぽい。
しかし、デコードの部分読んでもこのデータを作る機械的な方法がイマイチ思いつかない感じがあるんだよな。 要は単純な画像処理オペレーション一種類使って画像をエンコードするみたいな話なんだけど、 誤差が許されてるからどのくらいのずれなら許容するみたいなのを考慮に入れながらやるのは結構大変な気がする。 なんか greedy にやっていって誤差があんま無いような一般的な方法があるなら、マンガとかの画像を圧縮するデータ形式としてなかなか優れたものになるんじゃないかな…
このくらいの量だったら手作業って可能性もあるかなーとも思う。 だとすると ICFPC07 の endo で僕がやってたような作業に近い感じかなー
(20:34)
行ってきた。 本当は PE のやつに行こうかと思ってたんだけど、 tanakh さんが C++ を dis るということでそれにひかれすぎた。
当然ながら午前中は寝坊した。
IIJ ということでカレーでも喰ってから行きたかった (IIJ=>神保町=>カレーというマルコフ連鎖が僕の脳内にある)けど、 それも結構ギリギリだったのであきらめた。
C++ の悪口は比較的まぁそうだよな的な感じで、 もっと叩いても良かったんじゃないかな。 C++ 好きな子とかマゾなので基本叩かれると喜ばれるはず。 あとなんというか叩くことによって C++0x のモチベーションがよくわかる、 みたいな効果があった気がする。
Optional と DTL あたりは SPOJ やってた。 特に DTL は聞いたことあったし。 こういうの飽きたなあと思いつつ MONS を縮めた。 あと Perl6 使えるってことで CTQUINE が大幅に縮む予定だったんだけど、 どうも考えてた方針は使えないみたいだった。
Proto 。なんか面白いなあと思った。 なんというかまぁ実験プロジェクトとしては Boost 面白いよね。
shared_ptr …は話者の仕事でレガシーなものを 割と無理矢理 RAII な感じにしようとしてて 発生した問題色々、って感じなのかなぁと思った。 どうも一般性に欠ける感があったんだけど。 基本カスタムデリータとか使った時点で負けてる感が強いというか…
あと shared_ptr で受ける API ってのは、 heap にしかアロケートされないオブジェクト以外で作っちゃいけないと思うんだけどな。 ていうかたぶんそいう場合はたぶん侵入型の参照カウンタ使うべきな気がするので、 たぶん shared_ptr で受ける API ってのは一般的に言って間違ってるんじゃないかな…
TR18015 。面白かった。 何が面白いってこういう200ページとかある資料とか 作るもんなんだなー的な。
ゲームと C++ 。 例外と RTTI 切れ、ってのは Google とかもまぁそうなってるし、 まぁ一般的に割といいんじゃないかな…
C キャストダメ絶対、ってやつだけど、 プラットフォーム依存型とかキャストしたい場合なんかには C キャスト便利だったりするけどね…という話があると思う。 具体的には pthread_t なんだけど、 この子は thread の名前として機能しうるので、 なんかなんとなく unsigned long とかにして出力したい… とか思うことはまぁあると思う。
ところが BSD 系だと pthread_t はポインタなので static_cast はできなくて、 linux だと unsigned long なので reinterpret_cast で怒られる…と。
あとは懇親会は補欠登録してみたけど キャンセルとかいなさそうだったので、 herumi さん + kik さんとカレーに。 なんか色々聞きたいことあった気がするんだけど、 どうもしんどくてテンション低かった。 もったいない話ではある
(21:06)
会社でスキーに行った。
去年の記録が無いみたいなので今年こそは書いておこう。
初日は昼から半日、ショートスキーというのをやってみた。 と言っても長めのショートスキーで、 たぶん120cmとかそのくらいだったのかなあ…と思う。 やってる最中はこれは軽くていいものだなあと思っていた。 リフトから降り損ねてストックを折ってしまったけど、 すぐに変えてくれてありがたいなあと思った。
2日目は一日中普通のスキーをやっていた。 ショートスキーが良かった気がしていたので 短めということで150cmのにしてみた。 やってみるとショートスキーというのはクソだと思えるくらいに 安定感があって、速度いくらでも出せる感じだった。 小回りとかはショートスキーの方が効くんだろうけどね。 my tracks によると普通に飛ばしてる時で5,60kmくらいで、 マックスで 75km くらい出てたみたいだ。 うまくないのに速度出すのは危ないなあと思う。
去年の方が飛ばしてた気がしてたんだけど 去年は50kmとからしい。 G1 ちゃんと Nexus S で違うとか普通にありそうやね…
100kmくらい出してる同僚もいたみたいだ。 一回150kmとかなってたけどそんな出したと思ってない時だし あきらかにおかしくなってたので GPS が一瞬狂ったとかだと思う。
3日目は半日だけということでスノーボードというのに初挑戦してみた。 ターンくらいはできるようになってやるぜという意気ごみではじめたものの、 こけるたびにやる気を奪われて最後の方はかなり萎えていた。 色々アドバイスくれた人のおかげもあって前向いて後ろ向いて… みたいなのを繰り返すくらいはできるような感じになった。 次回やったらターンとかできるようになるんじゃないかな… と楽観的に思ったあたりで終了。
だいたい1日につき3000円スキーに使ってウェアに3000円払ってるみたいだった。 ウェアに3000円って結構アホらしいのでコケないと決意したら 普段着とかでもいいんじゃないかな…とか思った。 ていうかウェア買ってもいいもんかもしれんね…
スキーとかスノーボードとかもクライミングと一緒で 度胸重要な感じで、 恐怖心とかが残念な程度に足りてない僕はそのへん有利だけど いずれ死ぬなあとか思った。
(23:50)
心が折れるな。
ゴルフなんてのは最終的には忍耐力勝負なわけで、 今まで忍耐力勝負にはあまり負けて来なかったわけだけど、 shorten は色々折れる
(02:51)
そういえばここは接続しなくてもいいな… とか思ったけど、しかし依然として空白のせいでサイズ変わらん
#define QQ(x,y,z)x##y z QQ (x,y,z) QQ (#define Q,Q(x,y,z)x##y z QQ,(x,y,z))
(02:36)
C++ じゃなくてプリプロセッサの方で書けるか、という話。 単に a って書くだけ、とかはナシでちゃんと一個は # がある必要があるみたいなルールで。
とりあえず C のマクロってヤツは改行を出力できないと思うので、 そのへんで既に僕の中ではできない確定しかけてるんだけど、 まぁ cpp 的には改行も空白もそんな違いないだろう的な話で、 改行が空白になっちゃうのは大目に見ることにする…
となると…と書いたのが
#define Q(x)x Q(x) Q(#define Q(x)x Q(x))
とか。 これでまぁいいだろーと出力を見てみると、
#define x Q(x)x x Q(x) Q(#define x Q(x)x x Q(x))
とかになってておかしい。 具体的には余計な x がついてる。
そうか2行目の外側の Q() の中の Q() が展開されちゃうんだなーということで、
#define QQ(x,y,z)x##y##z QQ(x,y,z) QQ(#define Q,Q(x,y,z)x##y##z Q,Q(x,y,z))
まぁこんなとこじゃないでしょうか。 もうちょい短くする方法とかなんとか改行出せないかとかは今度考える
(02:32)
なんかお前はマンガの疲れた人かっていうくらい そこらじゅうにぶつかったりしてた気がする。
理由はあからさまに TLE のせいなんだろうけど、 しかしそろそろ三日間ぶっつづけてコーディングとか できない程度に体力が無いのだろうか。
まぁ今回は特別負担が多かったのかもしれないし、 単に最近なんか疲れてたとかなんかもしれないけど、 歳ってヤツかも知れないなぁとも思う…
というような、ワシも年でのう的なやつとか 若いっていいなーとか、みんなが通る道、 とか的なのは、僕は基本的に嫌いなのだった。
理由は…
ってこれ前書いた気がするな…俺も年かな… 僕が忘れぽいのは昔からですね…
書いた気がするけど見つからないから適当に書くか。 要は
やたら疲れたから会社から帰ってきたものの、 プログラム書くっていうかゴルフがつらい感じなのでどうでもいい文章を書く気が起きた…
SHORTEN 抜かれてるんですよね。 もっと絶望的な大差つけておきたいところですね… こういう時のために手っ取り早く短くできる問題のリストとか作っておくといいんだけどな
(22:10)
WK roll 腐ってたので会社に行って帰ってきた…
会社で縮めたやつを投稿した。
1175.6839 点とかふざけた状態
(10:42)
KD は昨日結構な確率で通ってたコードと等価のコードが TLE 。 notogawa さんの TLE もたくさん見たので、同じ事情かも…
あと HASH も縮むはずだろうと信じてたけど無理だった。 まぁ予想通り僕だけ気の触れたようなコードになってるな… なんかおかしいとは思っていたよ。
あと HEART のトップはバイナリ無しでこれかー。 ていうか離散コサイン変換とかやってるアホは僕だけですかひょっとして。
(17:37)
いつも思うんだけど2倍ボーナスは無駄においしすぎるよな… 僕がトップ取ってる問題はどれもまだのびしろあるから安心感が割とある。
がんばって KD 縮めてたらなんかスコアが増えたり減ったりしてて、 なんかトップの notogawa さんがさらに逃げてたりしたみたいだった。 しかしとりあえず抜いた。 気合い入れなおせばまだもう少しいけるでしょう…
COUNTI, HASH, ODDEVEN の完敗っぷりは情けなすぎる。 ぼくはこんなに Quine さんをお慕い申し上げておりますのに Quine さんたらツレない。 どれも C ゴルフ勝負の段階に達してないんだよなたぶん。 KD の雰囲気から察するに、ゴルフ勝負ならもうちょい近くまで追いつけるだろう…
さてトップ取るための方針は色々あるけど、 要は今トップ取ってるやつを維持しつつ、 notogawa さんがトップ取ってるやつに 他の人がチャチャを入れてくれればいいわけだ…
まあぱっと見る感じ kinaba さん or kik さんががんばれば良い
(05:54)
寝坊したかと思ったけど30分の時差のおかげでちょうどいい感じだ。 何故か祝日に webkit gardener 割りふられてるので 会社に行って roll せんといかん。
いやわざわざ会社行かんでもできそうなもんだけど、 まぁ行った方がやりやすいという話もあるし、 いずれにせよ飯を喰うため外には出るのだし…
ってか 9 revision しか進んでないなさすが休日。 これはやる意味無い感が強いな…
(17:05)
前 | 2025年 7月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ Rui [50キロとか100キロはありえないんじゃないですかねー。スクーターとか運転してると慣れるまでは30キロでもかなり飛ば..]
_ shinh [たしかにうさんくさい速度だなーと思います。ただ、なんとなく体感で飛ばした時に値が増えてる感じはあって、相対的な指標と..]