摘要:        
首先考虑把bi和ai同时减i,问题变为非严格递增。显然如果a是一个递减序列,b序列所有数都取其中位数最优。于是划分原序列使得每一部分递减,然后考虑合并相邻两段。如果前一段的中位数<=后一段的中位数,显然各自b的取值不变就行了;否则将b的取值统一改为合并后序列的中位数。感性证明。 于是用左偏树维护中位    阅读全文
posted @ 2019-01-19 22:48
Gloid
阅读(161)
评论(0)
推荐(0)
        
            
        
        
摘要:        
建出点分树,每个节点维护其作为点分树上lca对子树内点的贡献,线段树维护即可,同时另开一个线段树以减掉父亲重复的贡献。    阅读全文
posted @ 2019-01-19 19:31
Gloid
阅读(216)
评论(0)
推荐(0)
        
            
        
        
摘要:        
考虑建出圆方树。显然只有同一个点相连的某些子树同构会产生贡献。以重心为根后(若有两个任取一个即可),就只需要处理子树内部了。 如果子树的根是圆点,其相连的同构子树可以任意交换,方案数乘上同构子树数量的阶乘即可。而若是方点,注意到其相邻的圆点在原树中是有序地在一个环上的,要产生同构只能旋转或翻转该环。    阅读全文
posted @ 2019-01-19 17:22
Gloid
阅读(285)
评论(0)
推荐(0)
        
            
        
        
摘要:        
可能作为最优解的边双都可以这样生成:初始时边双内只有一个点,每次选取边双内部两点(可以相同)和一个当前不在边双内的点集,以该两点为起止点找一条链(当然如果两点相同就是个环)将点集串起来,加入边双。状压dp模拟这个过程即可。注意找链时对二元环特判。    阅读全文
posted @ 2019-01-19 13:11
Gloid
阅读(207)
评论(0)
推荐(0)
        
            
        
        
摘要:        
板子题。可以转一下坐标防止被卡。精度和常数实在难以平衡。    阅读全文
posted @ 2019-01-19 02:13
Gloid
阅读(232)
评论(0)
推荐(0)
        
            
        
        
摘要:        
如果没有长度为偶数的限制,新建一个点向所有奇点连边,跑欧拉回路即可,显然此时一定存在欧拉回路,因为所有点度数都为偶数。 考虑长度为偶数的限制,将每个点拆成两个点放进一个二分图里,那么每条原图中的边在二分图中会对应两条边,一条长度为偶数的路径在二分图中显然是由某部分出发再走回这部分。我们需要让每条原图    阅读全文
posted @ 2019-01-19 01:11
Gloid
阅读(332)
评论(0)
推荐(0)
        

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号