雑記
2013年1月
wiki作業の進捗と予定
- 進捗
- [01/15]HOJ wiki 始動!!
- トップページも綺麗になったし公開しちゃっていいんじゃないかな??:済
- fesの記録ページ:できた.
- 予定
- 講座をいろいろ. 執筆者募集はジョークじゃなくガチなんだけど,
結局大体masが書くことになりそうな予感. とりあえず移転するだけのやつは早めに.
- 問題のところの関連問題を暇を見てたしていく. 大体はシリーズものを埋めればよさそう.
- 「関連」の定義がよくわからないけど, 手法とか経路が似てるってのは無視していいよね?
- シリーズものの編集が途中になっているけど, とりあえず任せてればいいかなぁ.
- 多分, contestとかfesの解説記事も移動します.
- voterのコメントって将来的に移植予定?わざわざ過去問にコメントしていかなくていいよね?
- 関連問題:0 から 43まで頭に浮かんだのを足した. シリーズ紹介コメントをちょっと追加.
HOJ全般
更新した問題など
思い出しながらつけているので順不同. fes以外の更新を書きます.
- Problem 0090:10B→9B. まさかこの時期のこのバイト数のものが縮むだと!
- Problem 0111:15B→14B. step数も多い乱歩風な解で, 見落とされていたのも仕方ないか.
綺麗な形になるので原理は人間に理解できると思うけど, まだよくわかっていません.
- Problem 0592:22B→21B. コンテストの系.
- Problem 0600:23B→19B→17B. 他のサイズで見つけたコードを真似した.
- Problem 0691:21B→20B. コンテストの系.
- Problem 1520:21B新規Solve. 怪しい構文. 初手にノイズを入れて
ごまかすのではなく, 初手をスキップする方針だった.
- Problem 1595:26B→23B. 「片方のパーツが違うのかなぁ」と思っていたけど短縮法の問題だった.
最近, このパーツをこの関数で作るというテーマが昔より多い気がする.
- Problem 1600:30B新規Solve. 適当になぞった. まだ自明に縮むけど. 想定解どのくらい短いんだろう.
初期位置が, 対称な場所がトラップなんで, ずらしてから規則に乗せるのか,
特殊な初項的な何かなのか, ... と妄想. ヒントっぽい数値もガン無視だしなぁ.
- Problem 1604:20B→12B. 適当にSolveして放置していたようですw
- Problem 1688:11B新手法. 育たない再帰で繰り返す. そもそも「短縮」以前に想定解の経路に乗るのが難しいよねw
- Problem 1689:16B. 普通に. 新手法想定解もあるらしいw
- Problem 1691:15B. 適当なあれとそれとかで既知の手法. 最初, 初期位置が合わず2+14Bになってた.
- Problem 1692:14B. とりあえず最初のパーツを数値で作って新手法をapply. snuke theory元祖よりは分かりやすいし, 過去問に応用ないかなぁー?
- Problem 0710:14B→13B. そういえば確か...というわけで心当たりがあった問題を見るとすぐ縮んだ.
- Problem 1695, Problem 1696:解いた. No Comment.
- Problem 0550:30B→29B. もうちょっと上手くいかないかなー?とりあえず緑一色復帰. 麻雀よりは易しい. →一瞬で抜かれる.
- Problem 1699:17B多分想定解かなー. なぞっていつものあれで縮める.
- Problem 1700:17B. あまり上手い方法思いつかなかったのでとりあえず.
- Problem 0918:31B→30B. すぐ縮んだw2B足して2B縮めてたつもりが2B足して1B縮めてた.
- Problem 1607:26B→16B. 最近やっとSolveした. この規則認識でいいのかなーと心配しながらも
よく考えると, 無駄を減らすとパーツが減ってすっきり. 確かにUZUUZU.
- Problem 0550:29B→26B. ちょっと大きめのパーツが使えないかなとやったらいけた. 緑一色.
- Problem 1592:15Bsolve. 経路.
- Problem 0434:21B→20B. 回収方法次第で21Bはすぐ行ける. 回収方法を微修正して某の変形で頑張る.
Alphabetシリーズは想定以上に技術の宝庫で今でもお気に入りのシリーズ.
- Problem 0424:35B→34B. 大きく書き直してみた. パーツ変えて5倍を使わず書いてみる.
32B + 最後の1個のために2B. Ktya氏はほとんど書き直さず縮んだらしいんで
もっと単純に考えた方がいいのかなぁ?
- Problem 0649:29B→28B. sarasoujuさんが短すぎるシリーズ. 2B + 無限繰り返し で28Bとか,
3B + 4倍とかで28Bがいくつかできたけど, 初期位置のせいで意外と上手くいかないよねぇ.
- Problem 0767:20B→19B. そういえば現在20万前後ですが10万行ったときほど感慨深くないなぁw
経路構成は大きく分けて1回でやるか何回もやるかがありそう. 自分の20Bの方針がまだ縮んだ.
- Problem 1510:246B→244B. Arbokのsnuke関数を修正して利用.
これ平気で「rを200回連打して」とかやる関係で当然だが実行時間長め.
2B減らすと「ssss以外の255種」となって, ちゃんと経路順序調整しないと詰むから最適化つらかった.
- Problem 1453:26B→24B. 確かに適当solveだった. いうて24Bもあまり釈然としない感じだけど.
まだ縮むんじゃないかなーとか適当に思うけどよくわかんないね.
- Problem 1507:250B→248B. 1510のときはやたら大変だと思ってたけど,~ 「/lssss/」みたいなのもなぜか回避しようと懸命だったせいだった. 4歩連続は余裕じゃないか.
普通に15分くらいでいける.
- Problem 1508:242B→240B. これもすぐ.
- Problem 0510:縮まなかった. 2B減らすデメリットとして3歩増えて2B増えた.
変種で205Bならワンチャンあるかな?うーん. →できた.
- Problem 1701:易しい21B.
- Problem 1702:適当になぞって18B. 他なんかできませんかね?
- Problem 1703:20B. 位置合わせの問題もあるし, 回収法も選択肢があるし悩み中. 乱歩もあるかもね.
- Problem 1704:無圧縮で20Bにはなって自然には19B.
それをちょっと乱して変なのを使えるようにして17B. 最適かは知らないけど面白い.
- Problem 1706:17B. 6歩単位で動かして乱歩探せばよい, けどもっと良いのあるかも. →14B.
- Problem 1707:保留中. 結構頑張りようはありそう.
- Problem 1705:16Bと聞いてしばらく考えていたらピンと来てあとは微調整.
- Problem 1708:1706が乱歩で悲しそうなので出してみた. 流石に手法はあんな感じ.
微調整に失敗して21Bだと思い込んでたけど20B. 見た目よりだいぶ短いイメージ.
- Problem 1709:19B→18B→17B→16B→15B→14B→13B. LOOPって書いてあるのかってことに
気づいたけど別に無限ループとかではなかった. 色々考えようがあって楽しめた.
- Problem 0824:久しぶりに見返して縮んだ気がしたけど100万ステップオーバーしてたww
とはいえBest化した当時も似たようなこと考えていた気もする.
- Problem 1703:20B→17B. どうせ作るパーツで位置調整もしようとして上手いこと圧縮したら結構短く.
- Problem 1710:17B. Problem 1702と同じ配置. ですが, 全体としてちょっとずれているだけ.
したがって特殊事情で短縮できるとすれば「外側の壁」を使う確定. Problem 1702でも考えた方法だった.
- Problem 1711:21B. 12歩単位で1/4作れるなーと思ったけど, 流石に6歩単位のパーツと認識せざるを得なかった.
なるべく小さいパーツであとは増やすだけ.
- Problem 1712:22B. 4倍の4倍したいけど5倍も欲しくて補助関数に悩む.
パーツが1種類で済むなら再帰でも効率いいかなと思ったけど, そう上手くもいかない.
色々悩んだ挙句, 上手く17Bで最小単位を作れたので上手く増やす.
あんまり上手く増やせないけど最初24Bでかけて, 向き関係不満だったので色々調整.
- Problem 1713:適当になぞるだけ. 上と下のどっちを先にやるかとかどっち周りかとかでいちいち悩む.
色々技術利きそうだけど割と普通に.
- Problem 1714:19B. 回らない壁際族. こっちもこっちも減りそうで減らないねー.
パーツと増やし方?みたいなのはともかく実装も工夫しようありそうだけど.
- Problem 1715:22B. とりあえずなぞった. 上手い方法あるのかなー.
例えば中心極限定理にノイズ混ぜるみたいなのありそうだけど手動だと厳しそう.
- Problem 1715:22B→21B. snuke先生22Bだけどあれで想定解だったの?
- Problem 1717:何かあれの利用法があるはずと思って結構悩んだ. 簡単だったけど結構かかった.
- Problem 1715:21B→18B. よく考えたら, ここはむしろ絶好の初期位置でしかなかった.
- Problem 1718:48B. 規則把握するのに5分かかった. せっかく良いところにtarget置いてくれていたのにね.
実装で悩む...かと思いきや自然に書いて意外とすぐだった. 面白い. 最初50Bになりそうだった.
- Problem 1718:48B→39B. 2数必要, というよりは, 特定回数の組合せだけ検出すればいい.
- Problem 1714:17B. 実装を工夫すれば縮むはずと思ってたけど, 工夫しかたを間違ってただけで見直すと瞬時に縮んだ.
- Problem 1572:35B→33B. 何行にするかで悩む. 実装もなかなか難しかった.
- Problem 1600:30B→24B. まだ適当に. 想定解きっと短いんだろうなぁと思いつつ.
30B制限だといくらでも経路構成できるから全然良い感じに書けている気がしない.
特に初期位置が絶対変なのは補助関数で短く回収するか, 特殊な初項的な繰り返しか, 再帰?
短い再帰解あってもおかしくない. 抜かれるまで保留. あとは変な数値が書いてあって全然ヒントに見えない.