bzoj3697
    
                
摘要:一开始又看错题,以为同样路径上不同的休息站是算不同路径,后来发现休息站只是路径合法的条件毫无疑问是树的分治,下面我们只要考虑计算能建休息站的路径我们把阳看作路径权值为1,阴作为路径权值-1点分治之后,休息站的建立只有三种情况,在根,在之前的子树路径上,在现在的子树路径上我们先考虑休息站在根到子树的路...
        
阅读全文
                    posted @ 
2015-03-31 16:54 
acphile
        
阅读(230) 
         
        推荐(0)     
                 
                
                
    bzoj1267 3784
    
                
摘要:双倍经验题像这种方案太多不能全部求出来但求前k大一般有这样一个思路将所有方案无重复不漏的分为若干类,每个类的元素满足单调性,然后我们用堆维护就行了!对于这道题,可以想到用树的分治来处理路径,当处理根为x时我们处理当前的子树每个点i和之前的子树上的组成的路径,我们完全可以把访问顺序状态记录成一条链(状...
        
阅读全文
                    posted @ 
2015-03-31 16:35 
acphile
        
阅读(253) 
         
        推荐(0)     
                 
                
                
    bzoj3165 1568
    
                
摘要:1568是3165的弱化版,发的代码是3165的这道题完全没想出来,是看wyl大神的题解http://hi.baidu.com/wyl8899/item/2deafd3a376ef2d46d15e998对我完全是一个思维上的突破,之前线段树打的标记基本都是代表整个区间的性质而这道题区间上的标记只是部...
        
阅读全文
                    posted @ 
2015-03-30 21:54 
acphile
        
阅读(165) 
         
        推荐(0)     
                 
                
                
    bzoj1007
    
                
摘要:其实吧,就是一个半平面交,而且不用考虑转回来的情况,所以只要极角排序然后用栈即可给的是点斜式,比极角很方便至于完整版的半平面交还没写过,看到再说吧 1 var a,b,c,q:array[0..50010] of longint; 2 v:array[0..50010] of boolean...
        
阅读全文
                    posted @ 
2015-03-30 19:48 
acphile
        
阅读(109) 
         
        推荐(0)     
                 
                
                
    bzoj3611
    
                
摘要:会构建虚树之后就是noip提高组的题目了稍微难一点的是求代价和,只要注意按一个方向避免重复计算贡献即可 1 const inf=100000000; 2 type node=record 3 po,next:longint; 4 end; 5 6 var mi,...
        
阅读全文
                    posted @ 
2015-03-30 19:15 
acphile
        
阅读(132) 
         
        推荐(0)     
                 
                
                
    bzoj2286
    
                
摘要:很明显,20%=mincut 40%=每次暴力树形dp那么正解是什么呢?不难发现∑kib then exit(b) else exit(a); 15 end; 16 17 procedure swap(var a,b:longint); 18 var c:longint; 19 beg...
        
阅读全文
                    posted @ 
2015-03-30 19:12 
acphile
        
阅读(153) 
         
        推荐(0)     
                 
                
                
    bzoj1914
    
                
摘要:这道题用转化补集的思想一下就很简单了考虑不包括原点的三角形,显然对于一个点,它与原点构成的直线在这条直线同侧的任意两点和这个点构成的三角形一定不是黄金三角形为了避免重复我们只考虑直线上方的两点然后我们只要按极角序扫一遍即可 1 type point=record 2 x,y:longint; 3 e
        
阅读全文
                    posted @ 
2015-03-18 13:09 
acphile
        
阅读(131) 
         
        推荐(0)     
                 
                
                
    bzoj3144
    
                
摘要:最小割解决最优值最突出的特点就是要将对象划分到两个集合中这题很明显,裸的最小割先把点连成一根根柱子,就是p(x,y,k)-->p(x,y,k+1)流量是P(x,y,k+1)的不和谐值然后s与p(x,y,1)连边,流量是p(x,y,1)的不和谐值最后再将p(x,y,r)都连向t下面就是解决切割限制了,...
        
阅读全文
                    posted @ 
2015-03-17 20:22 
acphile
        
阅读(198) 
         
        推荐(0)     
                 
                
                
    bzoj2756
    
                
摘要:看到相邻格子都+1的操作一下就想到黑白染色了相邻格子都+1说明不管怎么弄,黑格子的总和和白格子总和的差总是定值这里首先要注意,最后不一定变成的是所有元素中的最大值,可能比它大比如 1 2 2 2 1 0 这里最后可以全变成3所以做题的时候下结论一定要小心,我们不妨设最后都变成了x,c1,c2表示黑...
        
阅读全文
                    posted @ 
2015-03-17 20:13 
acphile
        
阅读(137) 
         
        推荐(0)     
                 
                
                
    poj3177
    
                
摘要:边双连通有一个非常简单的做法就是先找出所有桥,然后再dfs一次不走桥即可答案是(叶子节点的个数+1)/2 1 type node=record 2 next,po:longint; 3 end; 4 5 var e:array[0..20010] of node; 6 ...
        
阅读全文
                    posted @ 
2015-03-16 13:27 
acphile
        
阅读(117) 
         
        推荐(0)     
                 
                
                
    一些比较水的题目
    
                
摘要:bzoj1720 离散化然后二分答案,前缀和判断bzoj3173 注意是按1~n顺序插入,所以之前每个点的最长上升序列不会有影响bzoj2751 确实是容易题bzoj1048 直接5维记忆化爆搜啊bzoj2438 tarjan缩点判断度为0的个数,注意如果存在一个入度为0的点没有指向只被它指向的点的...
        
阅读全文
                    posted @ 
2015-03-16 13:21 
acphile
        
阅读(123) 
         
        推荐(0)     
                 
                
                
    bzoj2282
    
                
摘要:到路径的距离就是到路径上的点最近的距离首先看到最大值最小不难想到二分答案下面的问题就是怎么判断,显然我们是不能穷举路径的我们要找出消防路径的性质仔细研究就会发现消防路径一定是树的直径的一段,这样必然最右证明很简单,我们可以利用反证法解决,通过证明可以发现这个直径随便选一条就可以了我们把树的直径拎出来...
        
阅读全文
                    posted @ 
2015-03-16 13:15 
acphile
        
阅读(146) 
         
        推荐(0)     
                 
                
                
    屯题50AC纪念
    
                
摘要:从2.1起开始屯题,一直弄到现在才完成了一发50题的目标,实在太弱(当然之间事比较多,还是挺不容易的)不过总算是完成了一个小的目标了接下来两周要进行小高考最后冲刺了,所以我大概不会再怎么刷题了主要是将之前AC了但还不太明白的题目再重新研究一下小高考完了之后还有第二轮省选,而后面两轮基本是省选的天王山...
        
阅读全文
                    posted @ 
2015-03-15 20:13 
acphile
        
阅读(119) 
         
        推荐(0)     
                 
                
                
    bzoj1027
    
                
摘要:感觉网上很多题解写的似乎不清楚,这里说一下我的思路显然对于每个用户的材料(设其比例为Ai,Bi,Ci),我们要么最多用3种原料(设其比例为ai,bi,ci)混合成需要材料,要么一定混合不成,具体原因往下看我们设这3种原料所取比例为x1,x2,x3,可得x1*a1+x2*a2+x3*a3=Aix1*b...
        
阅读全文
                    posted @ 
2015-03-07 21:40 
acphile
        
阅读(154) 
         
        推荐(0)     
                 
                
                
    bzoj1069
    
                
摘要:四边形的问题可以转化为三角形处理穷举对角线,然后处理上下两个三角形,旋转卡壳 1 var x,y:array[0..5010] of double; 2 q:array[0..5010] of longint; 3 l,r,i,j,k,t,n:longint; 4 ans:d...
        
阅读全文
                    posted @ 
2015-03-07 20:53 
acphile
        
阅读(132) 
         
        推荐(0)     
                 
                
                
    poj2079
    
                
摘要:根据凸包的单峰性质,穷举第一个顶点然后先更新第三个顶点,再更新第二个顶点 1 var x,y,q:array[0..50010] of longint; 2 ans,n,t,k,i,j:longint; 3 4 function cross(i,j,k:longint):longint; ...
        
阅读全文
                    posted @ 
2015-03-07 13:24 
acphile
        
阅读(197) 
         
        推荐(0)     
                 
                
                
    poj2187
    
                
摘要:求最远点对,这是一道经典的旋转卡壳的题目话说由于是前年写的,之后就没怎么研究过计算几何了……感觉都不大记得清了,来稍微回忆一下……首先最远点对一定出现在凸包上显然,然后穷举肯定不行,这时候就需要旋转卡壳了http://www.cnblogs.com/Booble/archive/2011/04/03...
        
阅读全文
                    posted @ 
2015-03-07 13:11 
acphile
        
阅读(153) 
         
        推荐(0)