摘要:
决策单调优化的1D1D动规,比较经典的题,链接一下byvoid大神的博客http://www.byvoid.com/blog/noi-2009-poet博客里说的很清楚了。这个题主要是利用了四边形不等式证出了决策的单调性,这样我们可以二分不停地更新决策区间,这样效率nlogn可以ac。由于这个题比较奇葩,要求大于10^18的输出Too hard to arrange,所以过程中需要保存大于long long的数,所以我们用long double 保存中间量,这样最后再转成long long 就行了。poet 1 #include<iostream> 2 #include<cs 阅读全文
摘要:
水题。网上都说是什么链表的启发式合并,我也不太明白,反正我就写了个链表,然后也没什么启发式合并,就那么暴力合并就行了,速度也不慢。我们记录每个位置的下一个和它一样的颜色的位置next[i],对于每个i如果i+1!=next[i],那么i处会构成一个颜色短,一开始先这么统计出来,往后只可能增加,不可能减少。另外记录每个颜色的起始位置。合并的时候把两个颜色(x,y)都扫一遍,遇到相邻的x,y就链上,然后如果出现了i+1==next[i]就把答案数减1。注意最后保证x的信息全都复制到了y上才行。pudding 1 #include<iostream> 2 #include<cstd 阅读全文