
ACM-杂题
文章平均质量分 78
「已注销」
这个作者很懒,什么都没留下…
展开
-
hdu 1588 Gauss Fibonacci
http://acm.hdu.edu.cn/showproblem.php?pid=1588题意:g(i)=k*i+b,sum(f(g(i)) for 0思路:根据Fibonacci矩阵的求法,f(i)=mat^i 令mat={1,1,1,0} ,f(g(i))=mat^g(i)=mat^(ki+b) ,sum(f(g(i))=mat^b+mat^(k+b)+...+mat^(ki+b)原创 2012-03-31 23:31:33 · 471 阅读 · 0 评论 -
HDU_4126 Genghis Khan the Conqueror 最小生成树
http://acm.hdu.edu.cn/showproblem.php?pid=4126题意:一个N个点的无向图,先生成一棵最小生成树,然后给你Q次询问,每次询问都是a,b,c的形式, 表示的意思是在原图中将a,b之间的边增大到c时,此时最小生成数的值是多少。最后求Q次询问最小生成树的平均值。 N=10000思路:对于每次询问, 都是将a,b之间的边增加到c,如果边权增加的那条原创 2012-09-05 15:23:22 · 959 阅读 · 0 评论 -
ZOJ_3228 Searching the String AC自动机
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3228题意:给你一个长度为N的字符串和M个长度小于7的substr,分别求在允许重叠和不允许重叠的情况下,每个substr最多出现多少次。思路: 这是一个多模式匹配的问题,所以要用AC自动机。在允许重叠的情况下,用AC自动机求解方法很容易原创 2012-05-08 22:58:57 · 535 阅读 · 0 评论 -
HDU_2825 Wireless Password AC自动机+dp
http://acm.hdu.edu.cn/showproblem.php?pid=2825题意:给你M个最长长度为10的字符串,问有多少个仅由小写字母构成的,至少有K个给定字符串的字符串。思路:AC自动机+dp。dp( i , j , k)表示长度为i的字符串,在trie中的第j个结点时,含有的字符串的信息为k时候的种数。dp(i ,j , k ) = sum{ dp(原创 2012-05-08 12:32:11 · 625 阅读 · 0 评论 -
POJ_2778 DNA Sequence AC自动机+dp
http://poj.org/problem?id=2778题意:给你M个最多只有10个字符的字符串,问长度为N的不含这些字符串的字符串的个数有多少个。N2000000000,M思路:字符串匹配的问题,用AC自动机是最好的选择,因为N的范围很大, 直觉告诉我们要用二分矩阵乘法。接着就是列状态转移方程,用F(i , j )表示 i 个字符的字符串,最后一个串的状态为j时候原创 2012-05-07 14:58:22 · 512 阅读 · 0 评论 -
USACO 3.1 Humble Numbers
http://ace.delos.com/usacoprob2?a=SCwjbv7N2zR&S=humble题意:给你N个质数,求由这些质数组成的,第K大的数是多少。 N思路:假设我们现在要求的是第k个数,可以肯定的是这个数一定是由前面的某个数乘以一个给定的质数中的一个得到的,这样我们就可以枚举所要求的这个数是由哪个质数乘以前面的数得到的,为了加快搜索, 我们用一个pos数组,存放第i个质原创 2012-04-20 16:42:39 · 512 阅读 · 0 评论 -
Codeforces Round #117 (Div. 2) C. Optimal Sum
http://www.codeforces.com/contest/182/problem/C题意:给你一组有N个数的数列,给你最多K次将其中的一个数取反 的机会,即原来是a的数,经过这种操作之后,这个数会变成-a。问在最多允许k次这种操作的情况下,最大的连续len个数的sum是多少。N思路:这是一道3000分的题,比赛的时候没做出来,是比了赛之后看别人的代码之后才想明白的。题意很容易原创 2012-04-25 23:41:30 · 884 阅读 · 2 评论 -
poj 1204 Word Puzzles AC自动机
http://poj.org/problem?id=1204题意:给你一个N*M的由大写字符组成的矩阵,再给你M个长度不超过1000的字符串,要你确定这些字符串在大矩阵中的开始位置和方向。思路:AC自动机,对匹配串建立Trie树和失败指针,然后就是进行匹配了,所不同的是这里给你模式串不一维的,因此匹配的时候会有一点不同,一开始错误地以为需要对每个点进行8个方向的枚举匹配,这样的复杂度就会达原创 2012-04-13 16:08:03 · 535 阅读 · 0 评论 -
CSU 表达式 DFA
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1182题意:给你一个表达式, 问该表达式是否合法思路:DFA 。代码:/*有限状态自动机 */#include#include#define S 0 //初始状态 #define NUM 1 //以数字结尾的状态 #define原创 2012-04-12 19:37:49 · 421 阅读 · 0 评论 -
hdu 2896 病毒侵袭 AC自动机
http://acm.hdu.edu.cn/showproblem.php?pid=2896题意:给你N个匹配串和M个模式串, 问你每个模式串中,N个匹配串有哪些出现过。思路:AC自动机,和hdu2222思路其实是一样的,只不过这里就是需要增加一个域,来标记以该结点结束的串#include#includeconst int MAXN = 200*500+10 ;int N , M原创 2012-04-13 11:31:25 · 404 阅读 · 0 评论 -
hdu 2222 Keywords Search AC自动机详解
感谢这篇博文对我学习AC自动机的帮助,让我对AC自动机有了一定的了解, 以下的内容转自这篇博客:http://www.cppblog.com/mythit/archive/2011/12/01/80633.html 首先简要介绍一下AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n转载 2012-04-13 10:58:18 · 532 阅读 · 0 评论 -
HNU 11704 Baidu Post Bar
http://acm.hnu.cn/online/?action=problem&type=show&id=11704&courseid=0题意:给你一堆语法规则,再给你一个表达式,问你这个表达式是否合法。思路:DFA,构造一个有限状态自动机,然后进行状态转移。代码:#include#include#includeconst int MAXN = 10010 ;int N原创 2012-04-12 22:12:12 · 486 阅读 · 0 评论 -
POJ 3332 Parsing Real Numbers
http://poj.org/problem?id=3332题意:给你一个real number , 要求判断是否合法。思路:第一题DFA。所谓的DFA无非就是一种在各个有限的状态之间转化的图,经过一系列的变化之后问最后一种状态是否合法。代码:/*par= 0: 初始状态 1: 以 + 或者 - 号 2: 以 .结尾 3: 以数字结尾, 没出现过小数点 4原创 2012-04-12 16:38:52 · 1366 阅读 · 0 评论 -
POJ_3415 Common Substrings 后缀数组
题目链接:http://poj.org/problem?id=3415题意:给你两个字符串str0、str1和K,求一共有多少个这样的三元组S{i,j,k}= {(i , j , k) | str0{i...i+k-1} == str1{j..j+k-1} }。思路:题意就是在str0中找一个i,在str1中找一个j,要求他们的最长公共前缀l >= K,这样这组i,j对答案的贡献值就是l原创 2013-05-02 17:28:54 · 702 阅读 · 0 评论