化式子先。
朴素方程有 。
其中 。
首先不考虑段数的限制,方程即 。
假设决策 使得 优于 ,即 注意这个地方如果要使用 WQS 二分的话不能包含斜率等于 的情况,否则会错(可能没有单调性)。
然后来考虑一下段数的限制,如果直接 DP 肯定不行,但是我们发现如果没有这个段数就可以 过去。
所以我们就有了 WQS 二分。
主要思想是,如果转移方程是 ,那么 越大影响就越大,段数就越少;反之亦然。
所以我们就二分这个 ,找到第一个使得段数 的整数 。
代码:
1 |
|
化式子先。 



































































































朴素方程有 



































其中 











首先不考虑段数的限制,方程即 





























假设决策 







注意这个地方如果要使用 WQS 二分的话不能包含斜率等于 






















































































































































































然后来考虑一下段数的限制,如果直接 








所以我们就有了 WQS 二分。
主要思想是,如果转移方程是 
































所以我们就二分这个 



代码:
1 | #include <cstdio> |