题解:AT_cf17_final_i Full Tournament
模拟赛因为被 2 创了所以没有充足时间看这题。后来绕了若干时间就会了。
考虑你对于一个确定的
你注意到你执行以下过程:设
然后你执行
那么你的限制就是形如这么 merge 的时候,要求
注意构造过程并不依赖
这个东西后来知道是有原题的。
考虑你正着和反着扫一遍,那么你每一个没填的
你再拓扑排序一遍,然后每次优先加入上界小的,用堆维护。然后你维护一个值表示当前该填什么数了,每次加入的时候当下界小于等于这个值的时候才加入,大了就等到值挪动到那里才解锁。
然后无解就是没数可填了。
时间复杂度