# AHC019 最終パラ: 618742362.47 破壊と再生はできるのに焼けないらしいです(ミクさんたすけて~~) 36, 144 87, 235 84, 1687: assign_number 高速化 124, 2220: iikanji sort 高速化 69, 195: RandomSet * 片方にしかないものを追加する * これいい感じに置くの難しすぎ! * 大きさ1のブロックを優先的に減らす * 伸ばせるものは伸ばす * 5049795045.2 * 最後に小さいのから消せるなら消す * 4676961711.87: 1回 * 4570961711.91: 5回 * 消す→カバーするようななるべくでかいブロックを置くをやる * いい感じに埋める * 交互に埋める? * 最後にぶっこわ + 消せるのを消すをやる できる操作 * 隣とくっつける * 隣接に1マスおいてくっつける 10119672237.48 9368439733.89 conne first 10100319904.12 9389486950.54 9176441919.18 8910602312.53 7979128378.57 5049795045.2: 伸ばすものは伸ばす 4570961711.91 4013500000.0 3447000000.03: ぶっこわ 2843666666.73: dfs 6秒 2398166666.66: たくさんぶっこわ 1306269452.81: dfs 60秒 高速化しよーね… 1282140130.37: パラメータ調整後 6秒 すげー 1062980434.88: 余計なブロック消すの止めたらめっちゃ早くなって草 998836665.14: 最後に余計なの消す 949713929.09: 調整後 60s 高速化の恩恵は微妙だね 915701660.6: +6s 焼き ## ループ回数 * 50: 1101495759.25 * 100: 1062980434 * 200: 1063512131.78 * 400: 1125635734.38 ## dfs→焼きなまし dfsの秒数 * 1000: 966664560.44 * 2000: 930980480.49 * 時間2倍: 836360588.17 * 3000: 936006530.16 * 4000: 1000672972.86 * 5000: 983163744.94 * 6000: 996511786.15 ### 高速化後 * 1000: 813020700.96 * 1500: 758296219.91 * 2000: 815451006.45 * 3000: 764395364.93 * 1000: 682320734.82 * 1500: 640750122.88 * 2000: 663632691.39 * 3000: 664449756.64 * 1500: 614877012.16 ## 評価関数 $\times min(x, len)$ * 2: 961207119.33 * 3: 930980480.49 * 4: 920906703.75 * 5: 959809883.97 * INF: 1058600203.08 $+ min(x, len)$ * 0: 989296538.15 * 3: 962320477.99 * 5: 978313008.41 * INF: 1092617964.34 ## kick random * 1: 1077845186.09 * 2: 923151715.58 * 3: 937898085.36 * 4: 873644604.99 * 5: 908211947.77 * 1-5: * 2倍: 776189447.14 * 2-6: * 2倍: 808570513.23 * 2-5: 855950667.9 * 2倍: 766797893.64 * 3-5: 926811195.82 * 2倍: 787173438.63 963163356.66: (cnt, len) 1087166589.73: (len, cnt) 最初に+を一番直線になるところにする 表面が凸凹になってるとまとめにくい ![](https://i.imgur.com/IKmRFDk.png) * 全部埋める→直方体に分ける→体積が小さい直方体を削除 * D^6 * 最大長方形