bzoj2795
摘要:循环节的经典性质n是[l,r]这一段的循环节的充要条件是[l,r-n]和[l+n,r]相同 且n是长度的约数然后不难想到根号的穷举约数的做法有没有更好的做法,我们知道如果n是一个循环节,那么k*n也必定是一个循环节我们只要穷举质因子,不断除以原长并保证其仍是循环节,直到不能再小为止即可穷举质因子我们...
阅读全文
posted @
2015-05-30 20:19
acphile
阅读(407)
推荐(0)
bzoj2790
摘要:观察这道题,d(a,b) 就是先变成最大公约数然后再变成b设g[x]表示x的质因数数目,不难得到d(a,b)=g[a/gcd(a,b)]+g[b/gcd(a,b)]因为g[xy]=g[x]+g[y] 所以d(a,b)=g[a/gcd(a,b)]+g[b/gcd(a,b)]=g[a]+g[b]-2*g...
阅读全文
posted @
2015-05-27 15:13
acphile
阅读(209)
推荐(0)
bzoj2794
摘要:这题我得到一个经验,bool型的dp一定要想办法把bool去掉来表示更多的东西(1933也是这个道理)暴力大家都会,这里有两个限制条件一个限制条件我们可以排序不断加入,另一个呢我们可以用f[i]表示c[]的和等于i时,最小的b[]最大是多少然后转移判断就很容易解决了 1 var sum,a,b,c:...
阅读全文
posted @
2015-05-27 14:59
acphile
阅读(243)
推荐(0)
bzoj2085
摘要:首先看到k的范围就该知道这题不是倍增就是矩乘首先肯定要求出任意一对串(a,b) a的后缀与b的前缀相同的最长长度是多少考虑到kmp求出的失配指针是一个串最长后缀和前缀相等的长度这里多个串我们只要用ac自动机即可具体的,我们只要建立自动机,然后记录每个状态点是哪些串的子串然后我们只要从每个串的结尾节点...
阅读全文
posted @
2015-05-27 14:52
acphile
阅读(363)
推荐(0)
bzoj4025
摘要:首先我们要知道,怎么去维护一个是否是二分图二分图的充要条件:点数>=2且无奇环重点就是不存在奇环,怎么做呢考虑随便维护一个图的生成树,不难发现,如果一条边加入后,形成奇环的话就不是二分图否则的话,我们可以无视这条边,因为如果之后再新加入一条边和这条边形成了一个奇环那么新加入的边一定和原来生成树上的边...
阅读全文
posted @
2015-05-27 14:41
acphile
阅读(1161)
推荐(0)
bzoj1109
摘要:我们设f[i]为保留第i个木块最多的符合未知数显然f[i]=max(f[j])+1 满足i>j a[i]>a[j] i-j>=a[i]-a[j]我们把最后一个式子变成a[i]-ij那不就水了,排序树状数组即可 1 var f,a,b:array[0..100010] of longint; 2 ...
阅读全文
posted @
2015-05-27 14:33
acphile
阅读(247)
推荐(0)
bzoj1132
摘要:每次都选最左边的点,然后以这个点为原点统计和这个点构成的三角形面积和不难想到极角排序然后由叉积很容易求出 1 const oo=1 shl 30; 2 eps=1e-8; 3 var i,j,k,m,n:longint; 4 x,y:array[0..6010] of longi...
阅读全文
posted @
2015-05-27 14:28
acphile
阅读(235)
推荐(0)
一些题解
摘要:省选前做了许多poi的题,写一下题解吧bzoj1123 显然求割顶bzoj1102 bfs大家都会bzoj1131 简单的树形dpbzoj2079 SB题bzoj2157 树链剖分模板bzoj3894 最小割,这样的模型已经不新鲜了bzoj2086 求最长和>=0的序列,前缀和单调队列,然后倒着做b...
阅读全文
posted @
2015-05-27 14:25
acphile
阅读(157)
推荐(0)
JSOI2015 R3 退队滚粗了
摘要:JSTSC最终落下帷幕,最终还是没能翻盘成功——退队了,遗憾啊,中原得鹿不由人day0 没啥好说的,我一开始把省常中和常州一中搞混了……,不过常州一中的伙食还是相当良心的,比省常中好考前感觉状态不错,虽然前面考得不好,但一轮轮发挥得逐渐正常了,感觉自己有着进队的实力day1 看题T1 好像只会暴力T...
阅读全文
posted @
2015-05-26 21:19
acphile
阅读(323)
推荐(0)
bzoj3774
摘要:这算是最小割中比较难的吧看到选取显然最小割看到上下左右四个点我感觉肯定和染色相关注意每个点的收益获得条件是[或],因此我们考虑拆点i', i,分别表示通过四周控制和控制本身的代价连边s-->i 流量为选择该点的代价; i-->i' 流量为该点的收益; i'到上下左右的j,流量为正无穷,表示另一个条件...
阅读全文
posted @
2015-05-18 19:04
acphile
阅读(631)
推荐(0)
bzoj1426
摘要:偷个懒,转自hzwer【“这种煞笔题怎么总有人问”,被吧主D了。。。用f[i]表示已经拥有了i张邮票,则期望还需要购买的邮票数则f[n]=0f[i]=f[i]*(i/n)+f[i+1]*((n-i)/n)+1整理得f[i]=f[i+1]+n/(n-i);设g[i]为还需要的钱g[i]=((n-i)/...
阅读全文
posted @
2015-05-18 14:24
acphile
阅读(194)
推荐(0)
bzoj3294
摘要:感觉自己就是不怎么擅长计数的问题设f[k,i,j]表示前k种颜色占据了i行j列的方案g[k,i,j]表示第k种颜色占据了i行j列的方案,注意要减去并没占据满i行j列的情况然后转移就很好写了像这种题目构造好了状态后都非常好解决 1 const mo=1000000009; 2 var g,f:arra...
阅读全文
posted @
2015-05-18 14:17
acphile
阅读(156)
推荐(0)
bzoj1061 1283
摘要:以前写的1061但一直没懂,后来懂了但忘写解题报告了 做了1283顺便补一下吧 1061 我是orz https://www.byvoid.com/blog/noi-2008-employee/#more-916 这类类似线性规划的费用流构造,大概有这么几个步骤 首先找出不等式约束关系,然后添加辅助
阅读全文
posted @
2015-05-18 14:04
acphile
阅读(266)
推荐(0)
关于广义后缀树(多串SAM)的总结
摘要:之前我们给的SAM的例题,基本上是一个串建SAM的就能做的 如果要建多个串的SAM应该怎么做呢 首先看题,bzoj2780 我一开始的想法是SA以前的弄法,把串拼起来,中间加分隔符做SAM 这题确实可以这么做,这样根据SAM能识别所有子串的性质 而且每个节点都代表了唯一的一个串 每个询问串我们都能找
阅读全文
posted @
2015-05-18 12:03
acphile
阅读(3916)
推荐(0)
关于后缀自动机的总结
摘要:学习请看clj冬令营的讲稿吧,这主要是从SAM讲的 另一个可以看http://fanhq666.blog.163.com/blog/static/8194342620123352232937/,主要是从后缀树方面讲的,殊途同归 不过个人感觉从后缀树的方面更容易理解…… 这里简单的说一下SAM的几个重
阅读全文
posted @
2015-05-18 11:24
acphile
阅读(644)
推荐(0)
bzoj1098 1301
摘要:这两题很类似,都是在补图上搜索但是由于补图太大我们不能建出来考虑先从一个点搜,每次搜可以搜的点,然后维护一个链表,记录当前还没有搜过的点,搜过之后从链表中删除即可 1 type node=record 2 po,next:longint; 3 end; 4 5 v...
阅读全文
posted @
2015-05-18 10:21
acphile
阅读(137)
推荐(0)
bzoj3237
摘要:首先我们可以把没有询问过的边处理掉,重构图当然这样也不影响复杂度考虑到每次询问要删除的边很少,我们完全可以整体处理把询问划分成两个集合,在前半部分询问未出现边我们可以整体处理掉,缩点重编号(询问的边和点都要重编号)然后通过分治继续对前半部分做然后回来,后半部分我们也可以同样的处理这样我们要维护一个关...
阅读全文
posted @
2015-05-18 10:15
acphile
阅读(163)
推荐(0)
bzoj3170
摘要:以前写的,好像忘写解题报告注意是一个跟曼哈顿距离很有用的结论|xi-xj|+|yi-yj|=max(|xi+yi-(xj+yj)|,|xi-yi+(xj-yj)|)因为绝对值有个性质是|a-b|=max(a-b,b-a) 把右边式子打开不难证明这个结论然后这题就不用我说了吧记得南外训练的一道题,是求...
阅读全文
posted @
2015-05-18 10:09
acphile
阅读(110)
推荐(0)
bzoj4008
摘要:好题,这题可以分开算每个技能的贡献orz popoqqqhttp://blog.csdn.net/popoqqq/article/details/45365759 1 var f,w:array[0..510,0..510] of double; 2 p:array[0..510] of d...
阅读全文
posted @
2015-05-18 09:52
acphile
阅读(182)
推荐(0)
一些题解
摘要:有的题比较简单就一笔带过啦bzoj1113 单调队列要我说?bzoj1112 维护中位数即可bzoj1529 因为图的特殊性可以用并查集bzoj2955 POI也是有好多水题啊bzoj2802 贪心要我说?bzoj3522 穷举中心就没了bzoj3511 简单的二元关系最小割bzoj2982 基本的...
阅读全文
posted @
2015-05-18 09:47
acphile
阅读(118)
推荐(0)
bzoj4028
摘要:一眼分块题……分块,维护每个块的总的gcd和xor和先思考我们应该怎么查询,考虑到gcd是一个神奇的东西,因为它最多变化logX次于是我们从前往后扫描每个块,如果一个块内总的gcd是当前扫描的前缀gcd的倍数那么,也就意味着这个块里的每个位置所对应的前缀的gcd都等于当前gcd因此,我们设当前xor...
阅读全文
posted @
2015-05-10 21:56
acphile
阅读(205)
推荐(0)
bzoj3196
摘要:平衡树系列终于完结,撒花裸的树套树,扔代码跑 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
阅读(219)
推荐(0)
bzoj4009
摘要:这是一道神题,首先我们不难先到整体二分吧下面的问题就是,求出对于每个水果,有多少盘子是他的子路径直接考虑不是很容易,我们换个思路,考虑对于每个盘子,哪些水果能包含它我们假设盘子a,b,dep[a]0 do 43 begin 44 y:=e[i].po; 45 if a...
阅读全文
posted @
2015-05-09 17:45
acphile
阅读(391)
推荐(0)
bzoj3996
摘要:把这个式子弄清楚就知道这是最小割了相当于,选某个点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
阅读(307)
推荐(0)
bzoj3157 3516
摘要:太神了,被数学题虐了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
阅读(225)
推荐(0)
bzoj1937
摘要:这道题没弄明白初始模型很好想,是用到了最小生成树的性质加入非树边后树上形成的环,非树边一定大于等于任意树边然后考虑树边一定是缩小,非树边一定是增大有di+wi>=dj-wj wi+wj>=dj-di(j是加入i形成的环上的边)然后不知道为什么求∑wi最小就是跑最大费用可行流求神犇指教 1 type...
阅读全文
posted @
2015-05-09 17:19
acphile
阅读(217)
推荐(0)
bzoj1532
摘要:就题目而言,这道题是裸的二分+最大流但是这样是TLE的,我们考虑优化1. 我们可以先贪心,这样二分的上界就可以缩小了2. 最大流我们可以不急着跑增广路,我们可以先贪心一个流然后再跑增广路但是我们发现上述优化还是不足以通过这题我们考虑是不是sap不适合处理这张图(这是二分图)呢?确实是这样的考虑到sa...
阅读全文
posted @
2015-05-09 17:14
acphile
阅读(198)
推荐(0)
bzoj3572
摘要:通过这题我知道了一个鬼故事,trunc(ln(128)/ln(2))=6……以后不敢轻易这么写了好了言归正传,这题明显的构建虚树,但构建虚树后怎么树形dp呢?由于虚树上的点不仅是议事会还有可能是议事会的LCA,所以我们要先求出虚树上每个点是被那个议事会管理的,这我们可以通过两遍dfs求出(儿子更新父...
阅读全文
posted @
2015-05-09 17:06
acphile
阅读(293)
推荐(0)
bzoj1453
摘要:这是一道好题,按行建线段树,每个点维护上下边界的连通性,详细见代码注释网上写法不一,自认为比较简单,就放出来相出来献丑吧 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
阅读(218)
推荐(0)
bzoj3205
摘要:和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)
bzoj2595
摘要:一开始看是插头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
阅读(298)
推荐(0)
关于高斯消元解决xor问题的总结
摘要:我觉得xor这东西特别神奇,最神奇的就是这个性质了 A xor B xor B=A这样就根本不用在意重复之类的问题了关于xor的问题大家可以去膜拜莫队的《高斯消元解XOR方程组》,里面写的很详细我来扯两道bzoj上的例题好了bzoj2115,求1-N最长xor路径,根据那个神奇的性质,我们先随便找一...
阅读全文
posted @
2015-05-09 15:01
acphile
阅读(373)
推荐(0)
bzoj1471
摘要:转化补集的思想,首先求出任意两点之间路径数目然后求两条路径第一次相交在点k(按照拓扑排序的顺序)的数目,显然这里要用到容斥然后pascal有坑爹的范围检测,所以运算中有些不会影响到答案但会爆int64的地方要判断一下 1 const inf=1e18; 2 var w:array[0..200,0....
阅读全文
posted @
2015-05-09 14:18
acphile
阅读(304)
推荐(0)
bzoj1485
摘要:首先考虑dp,设f[i,j]表示1~i用过了,期中j个放在偶数位然后转移大家都会这显然TLE,我们观察这个dp,任意前i个数,无论怎么放,放在奇数位的数的个数一定要大于等于放在偶数位的个数于是很明显这是经典的卡特兰数模型注意这里涉及到了除法取模,而模数不一定是质数很显然的想法是分解质因数然后约分但有...
阅读全文
posted @
2015-05-09 14:15
acphile
阅读(187)
推荐(0)
一些题解
摘要:好久没写题解了,一些比较简单的题目直接一句话带过,一些稍微复杂的题目单独开吧bzoj2895 bzoj1449的双倍经验bzoj2879 bzoj1070的加强版,考虑动态加边的技巧bzoj1163 1339 裸最小割(还是双倍经验)bzoj1177 好题,三个矩形不相交那么一定可以划分成6种情况,...
阅读全文
posted @
2015-05-09 13:06
acphile
阅读(137)
推荐(0)
poj3693
摘要:求连续重复次数最多的子串(字典序最小)首先连续出现一次一定是可行的,我们考虑出现两次及以上我们考虑穷举这个子串长度l,如果某个这个长度的子串出现了两次以上那他一定包含包含某两个字符s[l*m+1],s[l*(m+1)+1]这样,我们先判断每对字符能延伸多长(先求LCP,然后判断是否能再向前延伸)穷举...
阅读全文
posted @
2015-05-06 15:27
acphile
阅读(215)
推荐(0)
关于莫比乌斯反演的总结
摘要:首先反演是学习orz vfk的,http://vfleaking.blog.uoj.ac/blog/87 补一个基础知识:怎么交换求和式 这里P(j)代表j满足的条件,并且[P()]表示当条件为真为1,否则值为0 关键的一个等式: 下面扯几道莫比乌斯反演的题目 bzoj2301 2045 1101
阅读全文
posted @
2015-05-03 15:41
acphile
阅读(887)
推荐(0)
关于莫队算法的总结
摘要:莫队算法是用来骗分的……这个算法的使用前提是在不强制在线的情况下,对于[l,r],[l',r']的区间询问,我们需要要O(|l-l'|+|r-r'|)次基本操作从[l,r]转移得到[l',r']的答案可以发现这就是个高能暴力,只不过因为转移方向的优越带来比裸暴力更优的时空复杂度如果说cdq分治是花费...
阅读全文
posted @
2015-05-03 12:52
acphile
阅读(354)
推荐(0)
【待填坑】bzoj上WC的题解
摘要:之前在bzoj上做了几道WC的题目,现在整理一下bzoj2115 去膜拜莫队的《高斯消元解xor方程组》bzoj2597 LCT维护MSTbzoj1758 分数规划+树分治+单调队列bzoj2595 斯坦纳树,一类用spfa转移的dp,具体可以膜拜《spfa算法的优化及应用》(我是不会插头的蒟蒻)b...
阅读全文
posted @
2015-05-03 09:42
acphile
阅读(160)
推荐(0)
那就搬迁到这吧……
摘要:百度空间炸了,上了一下csdn发现发个文章都要审核半天……感觉还是博客园靠谱一点……,题解就扔这吧……原来的题解在这里:http://wenzhang.baidu.com/?tag=空间现在已经没有分类标签了,有时间再整理到这吧……欢迎交流UPD:我发现博客园竟然支持百度空间搬家……但感人肺腑地导入...
阅读全文
posted @
2015-05-03 09:25
acphile
阅读(185)
推荐(0)