摘要:        
二分答案,注意l是max(a[i]+a[i+1]),r是sum_a 判断的时候用dp,设f[i]为i与1最少的相同颜色数,g[i]为i与1最多的相同颜色数,转移是f[i]=max(a[i] (w a[i 1] (a[1] g[i 1])),0),g[i]=min(a[1] f[i 1],a[i]);    阅读全文
posted @ 2018-09-18 16:45
lokiii
阅读(179)
评论(0)
推荐(0)
        
            
        
        
摘要:        
priority_queue实现的对顶堆,细节超级多WA了十几次……但是理论上是最简便的orz~~其实是我已经不会写平衡树了~~ 枚举左端点,显然要把这一段的高度搞成(l,l+k 1)的高度中位数,所以需要一个支持插入删除查询中位数的东西,我们使用对顶堆 然后关于删除,我们手动维护size和sum,    阅读全文
posted @ 2018-09-18 15:23
lokiii
阅读(222)
评论(0)
推荐(0)
        
            
        
        
摘要:        
来自lyd课件 发现s和last(s),next(s)成树结构,然后把式子化简成kx+b的形式,做树形dp即可 cpp include include include using namespace std; int n,t,a[105]; double p,q; struct qwe { doub    阅读全文
posted @ 2018-09-18 09:02
lokiii
阅读(227)
评论(0)
推荐(0)
        
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号