codeforces 671D
    
                
摘要:这题真神了……没想到链的问题还可以转化为子树解……一开始总以为是树链剖分…… 我们可以先把问题转化为每条边只能被一个工人修复一次,可以证明这样答案不会更优也不会更差 设f[i]表示覆盖了i节点子树的所有边都被覆盖且i的父向边也被覆盖的最小花费 我们可以把工人修复转化为“头加尾减”,即在u[i]处添加
        
阅读全文
                    posted @ 
2017-01-28 23:47 
acphile
        
阅读(472) 
         
        推荐(0)     
                 
                
                
    codeforces 671C
    
                
摘要:题意定义f(l,r)为去掉[l,r]部分后剩下的数任意两个数的最大公约数的最大值 现在求f(l,r)的和 由于每个数ai最大只有200000,因此我们穷举因子x,记录以其为因子的a[i]的i值并按i升序。 下面我们从大到小穷举每个因子x,我们依次计算以f(l,r)=x的区间数, 有了上述的维护信息,
        
阅读全文
                    posted @ 
2017-01-28 23:32 
acphile
        
阅读(320) 
         
        推荐(0)     
                 
                
                
    zoj3256
    
                
摘要:好题,由m的范围知道这肯定是矩阵乘法加速插头dp,关键是怎么写 以往插头dp常用逐格递推,而这道题要求整行逐列递推 这样我们才能构造转移矩阵。 我们可以通过假象一个第0列来将路径转化为回路问题 逐列递推依然使用最小表示法,维护这一列每个格子向右的插头的连通性(最小表示法) 我们可以通过已知状态不断扩
        
阅读全文
                    posted @ 
2017-01-28 22:32 
acphile
        
阅读(233) 
         
        推荐(0)     
                 
                
                
    hit2739
    
                
摘要:好题,回路的问题一般都要转化为度数来做若原图的基图不连通,或者存在某个点的入度或出度为0则无解。统计所有点的入度出度之差di对于di>0的点,加边(s,i,di,0);对于di<0的点,加边(i,t,-di,0);对原图中的每条边(i,j),在网络中加边(i,j,inf,边权),最小费用流的解加上原
        
阅读全文
                    posted @ 
2017-01-23 22:15 
acphile
        
阅读(228) 
         
        推荐(0)     
                 
                
                
    hdu5737
    
                
摘要:首先思考一个朴素的做法 将b[]维护成一个线段树套有序表,每次修改a[]用线段树+lazy tag 并在线段树的子区间上在有序表中二分更新这段区间中a[i]>=b[i]的值,复杂度O(nlog^2) 有没有更优的做法? 考虑在一次修改操作中,查询的数是相同的,并且b[]这个有序表始终不变 因此在生成
        
阅读全文
                    posted @ 
2017-01-23 22:02 
acphile
        
阅读(262) 
         
        推荐(0)     
                 
                
                
    2017.1其他简要题解
    
                
摘要:期末考试结束又到了做题的时候了 hdu5964 大胆推出公式,发现面积可以转换为两个互相独立的参数函数…… 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 typedef long long ll; 5 ll a,b,c,d; 6 ll m
        
阅读全文
                    posted @ 
2017-01-07 22:54 
acphile
        
阅读(266) 
         
        推荐(0)     
                 
                
                
    hdu5967
    
                
摘要:看到合肥赛区的题目都是泪啊,期末考完了来补几道 公正来说,这道题我考场确实写不出来,因为我的lct模板不够完美…… 我在学习lct的时候不知道为什么代码里加边、删边都是用了一个makeroot的操作 这样我的lct就只能维护无根树而不能维护有根树 但事实上,lct是完全可以维护像这道题有向基环外向树
        
阅读全文
                    posted @ 
2017-01-07 22:47 
acphile
        
阅读(404) 
         
        推荐(0)