好的,新开了个博客,记题解的。
10.1
懒了,扔个题面 下载链接。
T1
注意到 \(k \leq 1\) 时才是有效的,更大的就可以拆成小的交换,然后就做完了。
T2
对于 \(p_i = 1\) 也就是每个区间无交集,设计 \(f_{i,j}\) 表示前 \(i\) 个点选了 \(j\) 个的最小代价,然后 \(O(n)\) 转移,复杂度 \(O(n^2)\),转移是 \(f(i,j) = \min \left \{ f(l-1,j-len)+w(l,j)\right \}\)
考虑拓展一般情况,我好像已经想到了,然后莫名其妙 hack 了自己,发现当 \(p_i\) 无取值要求时,一个点最多只会被俩区间覆盖,然后 \(p_i\) 就只有为 \(1\) 和不为 \(1\) 两种取值,对于为 \(1\),就和 Sub 1 相同,不为 1 时,他还能再被覆盖一次,假设后面我们枚举了一个 \(k\),那么 \([k,j]\) 仍然是有贡献的,所以就再前面 \(p_i\) 等于 \(1\) 的时候多进行一步转移就好了,复杂度 \(O(n^3)\)。
标签:复杂度,然后,转移,日志,取值,集训 From: https://www.cnblogs.com/Wei-Han-Fei/p/18442846