上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: 我们考虑n-1座桥每座桥需要的长度在一个区间[L,R]中 之后我们现在有m座桥,每个桥的长度为k 题意就是要求一个匹配方案 显然如果数据范围不大直接KM就可以了 可是20w的数据KM显然要T 所以我们考虑这是个区间问题,我们可以贪心 考虑两座桥A,B, A的区间被B的区间所包含 那么优先考虑A总比优 阅读全文
posted @ 2016-04-08 15:56 _Vertical 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 首先我们考虑最暴力的拆解拼凑 显然拆分掉所有的链需要 n-m 次 之后拼凑需要 n-1 次 然后由题目规定可知:只有从1出发且连续的链不用拆掉,其余的都必须拆掉(因为两个都套有娃娃的套娃不能组合) 我们只需要计算从1出发且连续的链的长度即可 设长度为L 则ans=(n-m)+(n-1)-(L-1)* 阅读全文
posted @ 2016-04-08 11:53 _Vertical 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 很老的题目了,很早以前学AC自动机的时候就A过一次 今天算是复习啦 我们可以把问题转化成一个给定字符串都没出现的字符串有多少个 我们建立AC自动机,设dp[i][j]表示走了i步当前在j节点上 在DP的过程中不转移单词节点即可 阅读全文
posted @ 2016-04-08 10:58 _Vertical 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 首先这个题目显然是要二分转换成判断可行性的 之后我们考虑DP 设f(i)表示 1->i 熟悉的子串的长度的最大值 那么对于i这个点,要么不在熟悉的子串中,要么在熟悉的子串中 所以得到 f(i)=max(f(i-1),f(j)+i-j); 其中i-j是划分的熟悉的子串的长度,要满足以下条件: 1、i- 阅读全文
posted @ 2016-04-08 10:35 _Vertical 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 首先我们要考虑给定一个串,如何将他划分,使得他有最多的禁忌串 我们只需要按里面出现的禁忌串们的出现的右端点排序然后贪心就可以啦 我们建出AC自动机,在AC自动机等价于走到一个包含禁忌串的节点就划分出一段 那么不妨设f(i,j)表示走了i步当前在AC自动机的j节点上 这样的DP方程跟BZOJ 1030 阅读全文
posted @ 2016-04-08 06:28 _Vertical 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 以前一直听说什么后缀数组height合并之类的 表示我这种后缀数组都敲不熟的蒟蒻怎么会写 但是做了做觉得还是很简单的嘛 这个题是有两问的,第一问是求LCP>=R的后缀对有多少个 这个就是AHOI2013 差异 稍微变个形啦 直接逆序建后缀自动机,在parent树上做一个很简单的树P就可以了 因为对于 阅读全文
posted @ 2016-04-08 06:17 _Vertical 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 求最小值最大显然是要二分 二分之后转换成了判定性问题 我们考虑哪些点一定不能选 显然是将所有可选点选中之后依然不满足条件的点不能选 那么我们不妨维护一个堆,每次取出堆顶看看是否满足条件 不满足条件就pop掉,并进行松弛 最后判定堆是否为空即可 另外,其实这道题思考到这里我们会发现二分并没有什么卵用, 阅读全文
posted @ 2016-04-07 06:55 _Vertical 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 首先我们会发现所有的人构成了一个图 定义相爱为 在一个集合里 定义相恨为 不在一个集合里 很容易发现满足条件的图一定是一个二分图 那么分类讨论如下: 1、如果出现不合法 答案为0 2、如果不是一个二分图 答案为0 3、设图中联通块有k个,那么答案为2^k/2! = 2^(k-1) 那么算法很明了了 阅读全文
posted @ 2016-04-07 06:31 _Vertical 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目啰里啰嗦说了一大堆(耐心读完题目就可以秒题了) 首先我们考虑当前置换的开头的循环节的开头 1、如果是1 1->1形成循环节 问题变成i-1的子问题 2、如果是2 1->2->1形成循环节 问题变成i-2的子问题 3、如果>2 则存在1->x->1形成一个循环节,但在原置换中不连续,所以一定不可能 阅读全文
posted @ 2016-04-07 06:27 _Vertical 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 先说我的解法吧 首先设f(i,j)表示选了前i个球且j种颜色都已经选完了的方案数 这显然是可以随便转移的 还有一种做法是考虑最后一种颜色,一定有一个在最后一位,其余的任意放 之后考虑倒数第二种颜色,一定有一个在当前的最后一位,其余的任意放 以此类推 所以ans=C(sum-1,c[n]-1]*C(s 阅读全文
posted @ 2016-04-07 06:22 _Vertical 阅读(139) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页