最新はこちら
2011.09.27
- 10万を超えたりRateが10万を下回ったり黄緑が増えたり黄緑が減ったり未Solveが減ったりしている今日この頃.
- 最近の更新分とか.
- 0428[N]:21B→19B.当時はしっかり最適化しといたよ〜って感じだったのに,
今見直すと調整しきれていないことがあまりに多すぎた!
a():r****la(),a()とかやっていた時点であまりにひどい.
- 0459[rectangles]:実はあまり考えていなかったけどやってみると出来た!
壁にぶつかってずれて…みたいなことは全く警戒する必要のない素直な問題でした.
コード自体は実はちょっぴり似たものがある気がする(ちょっとだけね).
- 0540[Diffusion]:35B→34B.出来ない問題なわけないのにやたら苦労した.
こういうのはどうやって考えれば間違えないんだろう….
- 0617[My Cushion]:24B新規Solve.大体分かるからと思って適当に書くと4つだけとかズレたりする問題w
ちゃんと進むべきところとかを矢印で書き出して机上で整理してから実装して解決.
- 0672[S-tick]:それほど難しくはなかった.これでちょうど24使いきれるのか,覚えておこうw
自分がSolveするや否やz氏がSolveしていたw
- 0702[My Girl Friend]:47B→46B.目まわりの作り方でかなり簡単な間違い.
コード的には1Bそのまま削るだけで改善されましたw
なんか外を歩いているときに思いついたんだっけか.
- 0707[stage1-5]:36BでSolve.1-2+(1-4改).
- 0725[G ball]:38BでSolve.パーツを絞り切れていないけど足りた.
それっぽいパーツで描いてみて,足りない部分は別のパーツを作ってみて….
- 0736[reflection]:41B→31B.経路も実装法も大きく変えてみて何とか.
- 0754[shape 3]:21B.やっと解けた.みんな経路ゲー解くのはえェ.
- 0760[lllllllllllll]:18Bとしたら思いつくのはこういうのしか…と半信半疑で
思いついたものをきっちり調整してSolve.上手いこといくんだねぇ.
- 0761[rrrrrrrrrrrrrrrr]:適当に回収して33B.意外と差がつく.
- 0762[ssssssss]:29B.規則認識は良いと思うけど上手い実装方法が不明.
某問題とかの理解も不十分だけど関係あるかなー?
- 0763[My Board]:15B→14B.簡単な形だけど経路が色々調整できて最適化が難しい.
- 0765[NAMCO]:22B.足りなくて苦しみ色々やった挙句,思いのほか簡単なコードで解決.
意外と細工が不要だった.
- 0766[Shuriken 6]:16B.簡単.
- 0767[100000!]:Rate100000!記念に作成.704問時点で達成.未だによく5桁に戻っているけど.
2通りの経路選択を思いついて20B解と21B解を作った.割と好き問.
- 0768[isosceles right triangle 2]:17B→16B→14B.欲しい数列を書きだして調整.
三角形周りは手法が複数あって面白い.パーツとして出てきたときにどう書くか迷う.
- 0769[Treasure hunting]:19B.簡単.といいつつ最初20Bで困っていたけど.
- 0770[75 percent]:21B.4分の3回収的なフラクタル作問.しかし初項付近のやりくりは悩むはず.
- 0771[chikakute tooi]:これは楽しそうな長文系.下書きが113B.そこから圧縮して82B.
途中で間違えないように検算のためこまめにsubmitしながら進んでいます.
そのため一時期Recent submitをmas 0771で埋めてしまっていましたw
2011.09.22
- 久しぶりにvoterを1周した.難易度評価していないのも結構あったし.
- 0287[Take Five]:15B.Bestが15Bやつはの黄緑以下はあと1個だぜぃ.
- 0726[BIT]:26B→25B.育て方を変えて短縮.しかし足りない….
- 0755[Peanut 2]:17B(確認)→16B→このパーツなら15Bになるはず.簡単.
- 0561[8 lines]:ちょっと見て,考えていなかった短縮をちょっと考えたら1B縮む.
結構古い問題だけど意外と差ついてるなぁー.技術は必要だけど素直な書き方だが.
- 0667[Who is Oen]:22B→19B.幅3長方形の構成方法を改善.
- 0756[Shuriken 5]:22B→21B.22Bで安心していたけど21Bだった.未だに間違うもんだねー.
- 0758[Space Carnival]:11B.6歩単位でしか動かない乱歩でOK.
レベル9初エクセはスペカニだった懐かしい.
- 0760[lllllllllllll]:pastaという題名にしようと思ったけどあまりpastaに見えなかった.
HOJコンテスト用に最近問題を量産していて適当にボツ問を出してみたという感じ.
コードによっては実行時間長くなるのでコンテスト向けではない.
かといってわざわざ不要に小さくして出すのも好きじゃないのでボツ問扱い.
- 0760[lllllllllllll]:とりあえず20B.しかし緑じゃなかったので考え直し〜.
- 最近のHOJは頑張ってもRateが下がる.大台が遠いなぁ〜w
- 0760[lllllllllllll]:えー18Bとか無理(弱気).
- 0761と0762わろたwwwwwwwww
2011.09.21
- 0200[Two Handred! get?]:42B→39B.過去コード見るとどう見てもダメコードだったので少し手直し.
Best15Bは流石に乱歩っぽいので探索しないとだ….最近0345の探索を少しずつ動かしたりしているけど
そんなことよりもこっちが優先した方が良さそうだなぁ(笑)
- 0687[Bunnies]:22B→21B→20B.21Bは出来てなかった方が不思議な簡単解.経路選択の微調整が出来ることに気付いて20B.
圧縮手法も,こういうは頭の超片隅にはあったけどあまり使ったことなかった.反省して常識化.
- 0221[Problem Set 2-8]:24B→22B.0221と似た感じで更新できた.
以前物凄く黄緑くて目も当てられなかった220番周辺もだいぶ直視出来る感じに.
- 0594[BLOCK-8]:18B→14B.本当は12Bなんだけど,実行しきれないので,
実行出来そうなステップ数のものを探索.ちなみに18Bも12BもSolver無しです.
- 0751[See HOJ voter]:きめぇwタイトルが唯一の解き方.
裏で作業していたせいもあるけど実行時間が2時間以上かかって鬼だった.
- 0752[shape 1]:13B.16Bの人間的な解があり,それを3B省略した感じ.
- 0753[shape 2]:34B→32B→30B.
- 0754[shape 3]:外側はともかく中央が広い切れてない.Ktya氏問苦手な印象.
- Best率は切り捨てなのか!!個数的にはもう少しで96%なんだけど….
- 0702[My Girl Friend]:50B→47B.Best:640.96%に乗って嬉しい.
- 0540[Diffusion]:35B→34B.Best:641.何度書き直しても35Bで厳しかったけどやっと足りた!
2011.09.19
- 需要あるなら自分も問題溜めておいてコンテストするよ?常連勢持ち回りで定期的にやりますか?
問題在庫はないけどね.作ったらすぐ投稿しちゃうw
- 裏会議?で月1回くらいでやっていこうという方針が決まった.詳細が確定したら告知します.
- 以下最近の更新とか〜.
- 0533[c]:17B.
- 0580[BLOCK-2]:17B.BLOCK-1の発展だけど,発展のさせ方が3,4,5とは違います.バイト数もポイントかも.
- 0730[Who am I?]:思ったより易しかった.
- 0732[Spider]:32B.規則は易しいけど少し選択肢もあるし,きちんと縮めると意外と混乱する.
- 0733[Nijuumaru]:20B.作問.簡単.
- 0735[4jo-han]:13B.作問.簡単.…と思ったら意外と全然Solveされない!?
結構単純なコードなんだけどなぁー.
- 0736[reflection]:作問.描いてみただけ.どう実装すればいいんだろう〜.
- 0737[25 squares?]:作問.タイトル適当.結構綺麗に最適化できるので頑張ってみて〜.
- 0738[Parallel lines]:作問.描いてみただけ.微調整が結構むずかった.25B.
- 0739[TEST]:8B.まぁ.
- 0740[Square in square 5]:このタイトル5つもあるのかw
かなり苦労したけど何とか34B.変態コードになってしまった.
- 0741[Warming up]:コンテスト前に作問してみた.色んな書き方ありそうだけど素直に18B.
- 0742[Warming up 2]:コンテスト前に作問してみた2.こっちは選択肢があまりないね.24B.
- Best数表示キターーーー!!!
HOJコンテスト記
- HOJコンテスト.解答コードはvoterに投稿しておきました.一応ここでも.
- 0743[Welcome to my contest!]:a(X):Xa(XXrs), a(l)
- 0744[Ten thousand]:w(X):XXXXX, w(lw(w(s)r))
- 0745[Growing square]:a(X):XsrXrsa(sXs),a(sr)
こういうので困ったらsXsを考えてみるようにしています.
- 0746[Halo]:w(X):XrX, a(X):w(w(w(Xw(X))w(w(X)XlXr)))a(sX), a()
ダメでした.卍は一瞬考えたけど,なぜか「(中央に入って4つつけて戻る)の4倍」という
経路を考えてしまう.あまりに基本な経路選択を見落とすとは…
最初27〜30Bばかりで,コンテスト中の問題では一番Solveに苦労しました.
早い段階で卍を諦めてしまい,時間内にその発想に立ち返れず.
- 0747[8-way]:最初に20B解.
w(X):XrX, a(X):w(w(w(X)w(llX)))a(ssX), a()
その後,トップが19Bだったのを見て,19Bに気付く.
w(X):XrX, a(X):w(w(w(X)w(llX)))a(sX), a()
灰色マス密度が少ないので乱歩探索してみたら14Bで出来た:
a(X,Y):Xa(Y,ssYYlX), a(l,)
- 0748[R4]:経路が見えるまでに時間がかかった.
最初外側に行っちゃダメっぽく見えてたんですよね.外側の灰色マスがダミー
最初に作った23B解:
a(X,T):Xla(ssX,T-1)rrXl, c:a(,7)rssc, c
rrなんて不要なはずの経路なのでこの書き方はダメだろ〜ということで,まともに書き換えて21B:
a(X,T):lXa(ssX,T-1)rX, c:a(,7)ssrc, c
初期向きが合ってないけど,4壁に接する経路で無限に繰り返すので問題ない.
次に検討すべきは,関数の再利用.ssの部分はもっとたくさんsしてもいいことに注目して
まずは「lX」部分を利用して19Bを発見.
a(X,T):lXa(Xss,T-1)rX, a(rra(,7),10)
なんか向きの相性が悪い気がしたけど,「rX」部分で繰り返せばいいだけだった.17B.
a(X,T):lXa(Xss,T-1)rX, a(a(,7),10)
これが綺麗なコードでこの方針の最善手.しかし結局理論値は乱歩でした.
a(X):Xa(lXsXss), a()
乱歩は好きではないけど,手抜きはせずきっちりコンテスト中にBest化.
10Bは5万ステップずつ動かしたけどHitしなかったので多分11Bで理論値.
- 0749[4STEP]:まずは落ち着いて経路構築.経路が見えるまでに時間がかかったけど,
再帰で増やしていくことを考えて行くと,1,2,3,4,…という正方形に注目できるでしょう.
この順に正方形を回収すること,そして初期位置がパターンの境目に相当するように
考えることで,時計回りの経路で,「1を回収ながら90度移動」「2を回収ながら90度移動」
というのが再帰のパターンとして考えられました.
こういうのは「1,2,3,4,…」よりも「0,1,2,3,…」の方が短縮になることが多いのだけど,
初期位置とマップの関係を見る限り「1,2,3,4,…」とするしかなさそうで,とりあえずここで経路を固定.
最初に書いたコード:
a(X):sXrssssssssrXrXrssssssssrXsa(sX), a(s)
動作チェックで正しく回収できることを把握.ここで「XrssssssssrX」が2回あるので
2倍関数を使う,または「XrssssssssrXがXになるようにする」の2択が発生.
2倍関数の方向でとりあえず作った23B:
w(X):XX, a(X):sw(Xw(w(ss))rX)lsa(sX), a(sr)
これであっさりClearは出来るかと思っていたけど案外ノルマ厳しめだったw
少し考えたけど縮まないので,もう1つの方針に立ち返ってみる.安直にやると24B.
a(X):sXrXsa(sXs), a(srssssssssrs)
ここから2B縮めればいいだけなので,何とかなりそう?
いかにも「u(X):sXs」という関数が有効そうで,関数定義に+5B,使える回数が7回で-7B.
22Bになるやん!というわけで書いて終わり.
u(X):sXs, a(X):u(XrX)a(u(X)), a(u(ru()u()u()u()r))
他にもやりようありそう.経路選択も短縮も少しずつ非自明でこういう問題は結構好き.
- 0750[Big rice field]:一目,Clear出来ない心配はなさそうなので楽な気持ちで.
安直には,パーツを作って16倍に増やせば良さそう.素直に書いて31B.
w(X):XXXXr, a(X,Y,T):Ya(sX,lw(XllX)s,T-1)Y, w(w(sa(,,5)r))
コンテスト序盤に31B解を投稿して,落ち着いたら戻って短縮考えようと思っていたのだけど,
最後1時間くらい戦ったけど31Bから縮まりませんでした.同方法では短縮間違えてなさそう.
別方法を検討.w(X):XrXlslXrXと定義してsw(w(s))sとするとそれっぽいパーツを
割と小さいバイト数で作れることが分かり,この方針で適当に作った32B.
w(X):XrXlslXrX, a:sw(w(s))sr, b:arara, c:bbbbrc, c
いかにも何とかなりそうだけど,関数が再利用出来ず苦戦.XYXとかXrXとかも考えたけど
いまひとつでした.何かありそうだけどタイムアップ.良く考えたら30Bには出来るべきだったかも:
q(X):XrX, w(X):q(X)lslq(X), a:sw(w(s))srr, q(q(q(q(aaa))l))
snuke先生の想定解と大体同じだけど補助関数が違った.多分ちょっと変数変換するとうつりあう.
着眼は良かったっぽいけどスコアに結び付けられず残念…だけどまぁこれは仕方ないな.
2011.09.18
- 更新とか作問とかもあるけど雑記をさぼっていますね,またそのうち….
- HOJコンテストでした.
辛うじて1位だった.苦手な経路推理ゲーが少なく,短縮技術を問うものが多かったおかげで何とか.
- snuke氏に促されたので,とりあえずHOJ voterに自分のコードかいてきますー.
2011.09.04
- 0731[Rice Field]:17B.割と簡単だと思うけど.18B以下にならない人は経路が悪い説.
- 14B以下で再帰で解けるものは全部現実的時間でプログラム探索可能だった.ちょくちょく動かして全部確かめた.
- snuke様がHOJコンテストを企画して下さっているようなので,ここでも告知してみた.
自分はRanking1位だけど,これは他の人が余力ありまくるだけの結果なので
あまり1位を狙える気はしませんがとりあえず参加してみます〜.
自分のHOJは,経路発見力とか発想力は平凡なんだけど,既存のテクニックを多分他の人よりも
常に選択肢に思い浮かべられる程度に身に付けているだけなんですよねー.
- 0141[enshrine 4]:15B→13B.
2011.09.02
- 遠くに行ったりしていてちょっぴり雑記どころではなかったです.
久しぶりに最近の更新などをまとめ〜〜.
- 0144[Tutorial 1]:14B→13B.
- 0662[face]:15B→13B.面白い動きをするんだなぁー.
- 0684[buki motsu aitsu]:16B.最初に考えた方針で合ってた.なんで1B足りないと思っていたんだろう.
- 0703[stage 1-1]:13B.あまり考えていなかっただけでした.
- 0704[stage 1-2]:20B.1-1が前提になっている問題.
- 0709[V-generate]:19B.18Bは厳しいかな….
- 0710[simple recursion]:作問.以前の自作Solverでは探索漏れしていたパターン.
- 0711[Zooming? rectangle]:13B→12B.そりゃそうだったー.
- 0712[small problem]:小さい長文風問題も楽しい?なんで25Bで並んでいるんだろう?
特に変態想定解を用意しているわけじゃなくて適当に解いただけなのだけど.
- 0713[UZU 13]:簡単.mas作問のUZUシリーズは割と短縮技術を問う問題が多いという噂.
- 0715[Windmill 7]:18B.もうちょっと微調整必要かと思ったけどすんなり行けた.
- 0716[There are answers]:10B.0714とセット?あまり趣旨を理解していないが白が増えて残念.
- 0717[?]:最初19Bになったけど無事18B.方針を固定しすぎないのが大事.
- 0719[P11]:簡単.22B.
- 0720[P12]:いい加減になぞれば足りそうだったのでなぞって45B.
- 0721[??]:16Bになったのがもうちょっと上手く書けそうだったのでちょっといじって15B.
- 0722[???]:これは普通に18Bかなぁ.
- 0726[BIT]:素直に書いて削って26B.えーあと2Bも縮むのか….
- 0727[Avoid four triangles 3]:17B.こういうの相対的に得意なのかなぁ,意外と解かれない.
- 0728[Avoid four triangles 4]:特に意図なく30Bくらいのつもりで出題したあと,例の手法の変形で24Bになることが判明.
- 0729[some triangle]:ちゃんと講座に書いた短縮なんだけどねー.
- 講座を2つ書いた.
- snuke氏の講座【f(X):XXX, f(srsl)f(slsr)】は【a(X):srslXslsr, a(a(a()))】の方が短い.
- 0013[Problem Set 0-13]:25B→24B.なんで縮んでなかったのやら.あと1B….
戻る