# AHC001 st = 0.001967014705966971; et = 1.973203715145631e-05; 一度でも接触したことのあるやつを動かす? pushで途中までしか押せなくても押す いや押しとる ### やるべきこと * 初期解の改善 * 近傍の改善 ### やってみる * 遷移を組にする * これかなり本質的な気がするな * 周りのと一緒に動かす * 動かす前に接してるかつ動かした後に接してないものを次に動かす * 動かせなかった時にその原因となるブロックを動かしてから動かす→動かしたあとnextに入れればええ→960くらいで泣いちゃった... * 接してる長方形の頂点に合わせて移動 * 一部テストケースで結構伸びたので調整したら良さそう * 時間がない * 分割して最適化してから全体を最適化する * 4分割は良さそう * 16分割は時間伸ばしてもうまく行ってなさそう * 全体最適化と分割最適化を繰り返す ### done * なんでlastが0になるの? * これ1つ前のコードがバグってたのでそれも試す * shift probを見直す ~~* 細長くするのは勿体無い * 辺の和に微小ペナルティをかける~~ * ダメでした ### メモ * 初期解がめちゃくちゃ重要 * →近傍が近すぎるのでは?(距離を増やす) * 広げる方向に増やすのはO(1)でできない * O(d)でやる * 平行移動の追加 平行移動は寄与してるっぽい 本当に?テストケースを増やす * rが小さい方を優先した方が明らかに良さそうだが...?ほんと?自由度は逆? * 順番はほとんどスコアに寄与していない | 並び | スコア | 備考 | | ------------------------------- | --------- | --- | | ランダム | 958784861 | | | 面積小さい順 | 958877122 | | | 面積大きい順 | 958929618 | | | 上から | 958913689 | | | 左上から | 958647321 | | | 1-10を1000個: 1000回に1回popout | 960871351 | | | シフト確率2/3 | 960984431 | | | シフト確率1/2 | 961299845 | | | シフト確率1/3 | 961276744 | | | シフト確率0 | 960093557 | | | nextなし(シフト確率1/2) | 960087379 | nextがあると大体ループは2/3になる | ### 4分割してそれぞれ最適化してから全体を最適化 | パラメータ | スコア | 備考 | | --------------------------------------------------- | --------- | ---------------------------------------- | | st / 2, et / 8, tl / 8 | 961514744 | | | SA1のみnextなし | 961699141 | どうせ近いのに当たるし要らなそう | | SA2 + SA1 + SA2 | 961936985 | いいね | | SA2 + SA1 + SA2 温度補正なし | 962093434 | 時間は共通だからね(どっちが良いんだろう) | | SA2 + SA16 + SA1 + SA2 | 961966046 | | | SA2 + SA1 + SA2 温度補正なし fixed | 962154200 | | | Cを共通化 | 961826717 | なんで? | | SA1のCを100個ずつに | 961991692 | | | st = 0.0134161513879241, et = 7.048922950202939e-06 | 962276612 | | | st = 0.0134161513879241, et = 1.973203715145631e-05 | 962206444 | | ### kick(441?) | 並び | スコア | 備考 | | ----------- | --------- | ---- | | true, true | 969795396 | | | false, true | 968766880 | | | true, false | 972326006 | | * なんで9日?なんで5s?焼き鈍しが想定ならこんなに要らない * 一般マッチングが想定なら頷ける * 矩形の大きさを固定した時に配置が可能かどうかYes/Noで判定したい * 順位表,アルゴ強い人が上にいるわけでもないし一般マッチングではなさそう? * 矩形の大きさを固定すると,動ける範囲が矩形の面積になる * DPできる? * $i$列目の一番下がどこか分かればDPできる(左上からやった場合) * できんくない?