上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页
摘要: 题目很简单、给一个有向图,求两点间的最大流量与任意一条路中的最大流量的比值。最大流不说了,求出单条流量最大的路径可以用类似Spfa的方法来搞,保存到达当前点的最大流量,一直往下更新即可。召唤代码君:#include #include #include #include #define maxn 10... 阅读全文
posted @ 2014-07-03 16:49 092000 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 很好的题目。有不多于200个任务,每个任务要在si到ei这个时间段内完成,每个任务的任务量是ti*ni,只有一台机器,且其单位时间内可完成的任务量为m。现在问你,能否使所有的任务全部在规定的时间段内完成。首先把所有的时间都提取出来,排序,得到2*n-1个时间区间。网络流建模。首先创建一个超级源点和超... 阅读全文
posted @ 2014-07-03 09:47 092000 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 这个题目说,有一个N*N的规格的方格。某些格子里有*号,每次可以消除一行或者一列中所有的*号。最少需要消多少次?新学到的,什么什么定理,最少点覆盖等于最大匹配数。这个定理可以这样来理解(看别人的),对于最大匹配状态下的一条匹配边,不可能两边同时存在可连的未匹配点,因为这样就可以增广了,所以对于一条匹... 阅读全文
posted @ 2014-07-01 22:31 092000 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目是这样的,给定一些人喜欢某只猫或者狗,讨厌某只猫或者狗。求最多能够同时满足多少人的愿望?题目很有意思。建模后就很简单了。对于同一只猫或者狗,如果有一个讨厌,另一个人喜欢,那么这两个连一条边。最终,最大独立集数等于最大匹配数就可以了。。Orz。召唤代码君:#include #include #in... 阅读全文
posted @ 2014-07-01 22:25 092000 阅读(333) 评论(0) 推荐(0) 编辑
摘要: Ctsc2012的题目。做完感觉自己瞬间变高富帅了。不过回想其实也觉得不难,想到用单调队列就很简单了,还有二分= =。呵对于给出的一篇文章,如果你们将它分成若干段,并在所有长度不小于L的片段在字典中间出现的总长度和不小于原文的90%,那么这篇文章就可以被认为是熟悉的。这里要注意理解一下题意,如果你要... 阅读全文
posted @ 2014-06-24 15:18 092000 阅读(1904) 评论(0) 推荐(1) 编辑
摘要: 若它的一个子串出现的次数不少于K次,那么这个子串就是一个K-string。现给出原串,每次可以向该串后面添加一个字符或者询问当前有多少个不同的K-string。在线添加查询,解法直指SAM。其实给添加函数直接设置一个返回值直接更新ans就好了。对于每个状态,多开一个值记录它的出现次数,每次添加点过后... 阅读全文
posted @ 2014-06-24 15:00 092000 阅读(1671) 评论(0) 推荐(0) 编辑
摘要: 给一个原串,以及那些字符是坏的,现在问你可以从原串中取出多少个不同子串,使得其所含的坏字符的个数不超过一个定数。这个题目网上有各种各样的解法。如hash,tire。我说一下我的解法。解法一:后缀自动机dp。f[][]保存到达某个状态,前面已经有的坏字符的个数的时候的字符串数量。这样按照拓扑序列一直递... 阅读全文
posted @ 2014-06-23 20:11 092000 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 很好的一个自动机的题目。给原串,和若干个询问串。求原串里有多少个不同子串可以通过询问串循环移动得到。有点类似求两个串的lcs,但是灵活一点。首先我们把询问串长度扩大一倍,去掉最后一个字符。因为最后那个字符结尾的情况已经有了。然后把这个新串拿到SAM中跑一遍,跑的过程就像求lcs差不多,每次判断长度l... 阅读全文
posted @ 2014-06-23 11:23 092000 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 很好的一个题目。对于理解后缀自动机很有用。题目给你若干数字串,总长度不超过100000,任意一个串的任意一个子串都可以拿出来单独的作为一个数字。同一个数字只算一次。问所有不同数字的和为多少?嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯首先由于字符串的数字很多,我们可以把么多串连接成一个串,每个串用[1... 阅读全文
posted @ 2014-06-21 11:31 092000 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目给出一个长为2000的字符串,和10000询问,每次询问从第l到第r个字符中间有多少个不同的子串。其实,全部预处理。f[i][j]表示从i到j个字符的子串数。重构2000遍SAM。对于新加入的字符,其所对应的last点,新增加的新子串数位step[last]-step[pre[last]]。原因... 阅读全文
posted @ 2014-06-20 16:56 092000 阅读(235) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页