02 2016 档案

BZOJ2441: [中山市选2011]小W的问题
摘要:题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2441 首先要注意到x1>x3且x5>x3(要是没有这个设定就是树状数组水题了。。 这题正反做两个V乘起来就是答案了。。 对y排序,每一个点找出在它左上方的点的个数记为sum,然后只要我们每次访问 阅读全文

posted @ 2016-02-23 22:04 ctlchild 阅读(623) 评论(0) 推荐(0)

BZOJ2726: [SDOI2012]任务安排
摘要:题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2726 倒着做,前面的点对后面的点都是有贡献的。 f[i]=min(f[j]+cost[i]*(T[i]-T[j]+S)) (j>i) 然后。。。。时间可以是负数的。(所以看起来好好的单调队列+斜 阅读全文

posted @ 2016-02-13 01:51 ctlchild 阅读(978) 评论(0) 推荐(0)

BZOJ1492: [NOI2007]货币兑换Cash
摘要:题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1492 f[i]=max(f[i-1],x[j]*a[i]+y[j]*b[i]) f[i]表示最大获利,x[j],y[j]分别表示第j天能够换到的最多的A,B券数量。 在斜率优化中如果每个状态给的 阅读全文

posted @ 2016-02-13 01:43 ctlchild 阅读(374) 评论(0) 推荐(0)

CodeForces 543D:Road Improvement
摘要:题目:http://codeforces.com/problemset/problem/543/D 题意:给你一棵树,一开始边都是0,可以使任意的边变成1,对于每一个根节点求使得它到其他任一点的路径上只有一条0边的方案数。 假设只求一个根,f[u]=∏(s[v]+1) 然后移动根节点这样就可以通过遍 阅读全文

posted @ 2016-02-11 18:42 ctlchild 阅读(171) 评论(0) 推荐(0)

BZOJ3653: 谈笑风生
摘要:先跑出dfs序。。然后对于询问p,k ans=min(k,dep[p])*s[p]+∑s[y] y是p子树上的点且满足距离限制。 只要对dfs序建可持久化线段树就可以快速求出∑s[y] (权当复习可持久化线段树了。。。询问的时候因为这是一棵可持久化线段树,所以访问到的节点如果是空就要退出来不然就要T 阅读全文

posted @ 2016-02-10 13:03 ctlchild 阅读(383) 评论(0) 推荐(0)

BZOJ4016: [FJOI2014]最短路径树问题
摘要:题目:http://www.lydsy.com/JudgeOnline/problem.php?id=4016 最短路+点分治。。 首先要把最短路径树做出来吧。。于是先跑一遍spfa,然后bfs一遍就可以建出树了。。 然后点分。。对于以重心为根的那棵子树,一棵一棵子树拿出来,维护处dep和dis(到 阅读全文

posted @ 2016-02-08 23:16 ctlchild 阅读(1142) 评论(0) 推荐(0)

后缀自动机初探
摘要:之前看过几次后缀自动机,然后因为人太蠢都没看懂。 最近重新填坑TAT。。。 BZOJ4032: [HEOI2015]最短不公共子串 建出后缀自动机和序列自动机,然后我们知道自动机上每一条路径都相当于一个子串(子序列),这样只要从根节点开始bfs一遍,找到A有而B没有的,那就是字典序最小的辣。 #in 阅读全文

posted @ 2016-02-05 10:59 ctlchild 阅读(509) 评论(0) 推荐(0)

BZOJ3230: 相似子串
摘要:(权限题。。 做出正反后缀数组。。二分找出询问子串所在的后缀。。再加上rmq。。。 (说起来很简单但是细节还是很多的。。 比如说怎么二分找出询问子串所在的后缀呢。可以先找出每个后缀在所有子串中的排名,设这个排名为sub[i],有sub[i]=sub[i-1]+n-sa[i]+1-height[i]( 阅读全文

posted @ 2016-02-04 15:13 ctlchild 阅读(205) 评论(0) 推荐(0)

导航