摘要:
平衡树系列终于完结,撒花裸的树套树,扔代码跑 1 const mo=20306789; 2 var w,b,s,key,fa:array[0..4000010] of longint; 3 son:array[0..4000010,1..2] of longint; 4 a,... 阅读全文
posted @ 2015-05-09 17:48
acphile
阅读(220)
评论(0)
推荐(0)
摘要:
这是一道神题,首先我们不难先到整体二分吧下面的问题就是,求出对于每个水果,有多少盘子是他的子路径直接考虑不是很容易,我们换个思路,考虑对于每个盘子,哪些水果能包含它我们假设盘子a,b,dep[a]0 do 43 begin 44 y:=e[i].po; 45 if a... 阅读全文
posted @ 2015-05-09 17:45
acphile
阅读(393)
评论(0)
推荐(0)
摘要:
把这个式子弄清楚就知道这是最小割了相当于,选某个点i有收入ai,i,会损失ci,如果i,j都被选则有额外收入ai,j+aj,i明显,对每个点i,连(s,i,∑ai,j) (i,t,ci)对每对i,j连边(i,j,ai,j),没了 1 const inf=100000007; 2 type nod... 阅读全文
posted @ 2015-05-09 17:26
acphile
阅读(310)
评论(0)
推荐(0)
摘要:
太神了,被数学题虐了orzhttp://m.blog.csdn.net/blog/skywalkert/43970331这道题关键是抓住m较小的特点,构造递推解决 1 const mo=1000000007; 2 3 var c:array[0..1010,0..1010] of longint;... 阅读全文
posted @ 2015-05-09 17:22
acphile
阅读(227)
评论(0)
推荐(0)
摘要:
这道题没弄明白初始模型很好想,是用到了最小生成树的性质加入非树边后树上形成的环,非树边一定大于等于任意树边然后考虑树边一定是缩小,非树边一定是增大有di+wi>=dj-wj wi+wj>=dj-di(j是加入i形成的环上的边)然后不知道为什么求∑wi最小就是跑最大费用可行流求神犇指教 1 type... 阅读全文
posted @ 2015-05-09 17:19
acphile
阅读(219)
评论(0)
推荐(0)
摘要:
就题目而言,这道题是裸的二分+最大流但是这样是TLE的,我们考虑优化1. 我们可以先贪心,这样二分的上界就可以缩小了2. 最大流我们可以不急着跑增广路,我们可以先贪心一个流然后再跑增广路但是我们发现上述优化还是不足以通过这题我们考虑是不是sap不适合处理这张图(这是二分图)呢?确实是这样的考虑到sa... 阅读全文
posted @ 2015-05-09 17:14
acphile
阅读(199)
评论(0)
推荐(0)
摘要:
通过这题我知道了一个鬼故事,trunc(ln(128)/ln(2))=6……以后不敢轻易这么写了好了言归正传,这题明显的构建虚树,但构建虚树后怎么树形dp呢?由于虚树上的点不仅是议事会还有可能是议事会的LCA,所以我们要先求出虚树上每个点是被那个议事会管理的,这我们可以通过两遍dfs求出(儿子更新父... 阅读全文
posted @ 2015-05-09 17:06
acphile
阅读(295)
评论(0)
推荐(0)
摘要:
这是一道好题,按行建线段树,每个点维护上下边界的连通性,详细见代码注释网上写法不一,自认为比较简单,就放出来相出来献丑吧 1 var u,d:array[0..810,0..205] of longint; //u[]上边界,d[]下边界 2 s,fa,q:array[0..810] ... 阅读全文
posted @ 2015-05-09 16:58
acphile
阅读(221)
评论(0)
推荐(0)
摘要:
和bzoj2595类似,也是斯坦纳树设f[l,r,]表示在点i机器人组合成了l-r最少推的次数,然后可得f[l,r,i]=min(f[l,m,i]+f[m+1,r,i])f[l,r,i]=min(f[l,r,j]+1) 点j能推到i但是这样做肯定会TLE,考虑两个优化首先,一开始其实有很多根本用不到... 阅读全文
posted @ 2015-05-09 16:44
acphile
阅读(205)
评论(0)
推荐(0)
摘要:
一开始看是插头dp,后来发现还有一个叫斯坦纳树的东西什么叫斯坦纳树,就是使给定点连通开销和最小的树(可以包含多余的点)到这张平面图上,我们不难想到用dp来解决,设f[x,y,S]表示连通集合为S,树根为点(x,y)的最小开销不难得到两个方程式f[x,y,S]=min(f[x,y,s']+f[x,y,... 阅读全文
posted @ 2015-05-09 16:35
acphile
阅读(300)
评论(0)
推荐(0)
摘要:
我觉得xor这东西特别神奇,最神奇的就是这个性质了 A xor B xor B=A这样就根本不用在意重复之类的问题了关于xor的问题大家可以去膜拜莫队的《高斯消元解XOR方程组》,里面写的很详细我来扯两道bzoj上的例题好了bzoj2115,求1-N最长xor路径,根据那个神奇的性质,我们先随便找一... 阅读全文
posted @ 2015-05-09 15:01
acphile
阅读(378)
评论(0)
推荐(0)
摘要:
转化补集的思想,首先求出任意两点之间路径数目然后求两条路径第一次相交在点k(按照拓扑排序的顺序)的数目,显然这里要用到容斥然后pascal有坑爹的范围检测,所以运算中有些不会影响到答案但会爆int64的地方要判断一下 1 const inf=1e18; 2 var w:array[0..200,0.... 阅读全文
posted @ 2015-05-09 14:18
acphile
阅读(304)
评论(0)
推荐(0)
摘要:
首先考虑dp,设f[i,j]表示1~i用过了,期中j个放在偶数位然后转移大家都会这显然TLE,我们观察这个dp,任意前i个数,无论怎么放,放在奇数位的数的个数一定要大于等于放在偶数位的个数于是很明显这是经典的卡特兰数模型注意这里涉及到了除法取模,而模数不一定是质数很显然的想法是分解质因数然后约分但有... 阅读全文
posted @ 2015-05-09 14:15
acphile
阅读(189)
评论(0)
推荐(0)
摘要:
好久没写题解了,一些比较简单的题目直接一句话带过,一些稍微复杂的题目单独开吧bzoj2895 bzoj1449的双倍经验bzoj2879 bzoj1070的加强版,考虑动态加边的技巧bzoj1163 1339 裸最小割(还是双倍经验)bzoj1177 好题,三个矩形不相交那么一定可以划分成6种情况,... 阅读全文
posted @ 2015-05-09 13:06
acphile
阅读(138)
评论(0)
推荐(0)