# 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)
最初に+を一番直線になるところにする
表面が凸凹になってるとまとめにくい

* 全部埋める→直方体に分ける→体積が小さい直方体を削除
* D^6
* 最大長方形