摘要:
题面传送门 题解区居然没有一个写理论复杂度最优的算法的。那我就来讲一下。 首先显然有一个结论:对于一个$b_i$,和小于$z-b_i$且最大的$a_i$连线时最优的。因为这样可以为大于当前$b_i$的提供更优条件。 同时没有修改就可以考虑离线算法,比如莫队。 莫队的增加时就是把当前$b_i$按照上面 阅读全文
摘要:
题面传送门 闲着没事开始清任务计划。 显然单调栈处理出一条列当前的最高的点,然后单调栈向左右拓展找到第一个小于的点,细节处理一下即可。 时间复杂度$O(n^2)$ 代码实现: #include<cstdio> #define min(a,b) ((a)<(b)?(a):(b)) #define ma 阅读全文
摘要:
题面传送门 因为不会写hard所以滚回来写medium了。 考虑dp,设$dp_{i,j}$为到$j$,分了$i$段的最大价值,有显然式子$dp_{i,j}=\max_{dp_{i-1,k}+w(k+1,j)}$ 这个是$O(n2k)$的,不能过。 考虑优化,看到后面那个范围很小,那么开个桶记录即可 阅读全文