https://acm.sjtu.edu.cn/OnlineJudge/problem/1085
读题读到一半以为是背包,读完之后发现果然没有这么简单……
第一思路肯定是要dp,但由于有个 t≤109 t ≤ 10 9 在这里放着,一切时间或空间复杂度 O(nt) O ( n t ) 的类背包写法都是行不通的。再思考一番,发现check某个长度是否合理的时间复杂度是 O(n2) O ( n 2 ) 。这样决定了大体框架:二分答案,再用dp检查答案是否合理。由于答案最大不会超过 n n (这时一道题都不做),最小当然也不会小于
(全部都做),二分对时间复杂度的贡献是
【SJTUOJ笔记】P1085 绿色通道
![](https://img-home.csdnimg.cn/images/20240711042549.png)