摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=3065 继续简单AC自动机,1y~View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <set> 5 #include <cstdlib> 6 7 using namespace std; 8 9 const int kind = 256; 10 const int maxn = 51 * 1001; 11 12 struct Nod 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2896 AC自动机的简单题。。。忘记关debug了,wa了一次。。。囧!View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <set> 5 #include <cstdlib> 6 7 using namespace std; 8 9 const int kind = 128; 10 const int maxn = 201 * 50 阅读全文
摘要:
http://poj.org/problem?id=2417 BSGS,直接套之前那题。不过我在multiMod函数里进行了修改,这样这个代码如果输入只是32位有符号数,就不用怕溢出了!代码如下:View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <map> 5 #include <algorithm> 6 7 using namespace std; 8 typedef __int64 ll; 9 10 //map<i 阅读全文
摘要:
http://poj.org/problem?id=3243 继续做一下BSGS的题,不过这题有点表述不清,我认为题目应该描述为XYmod Z ≡ K,因为的这题AC算法是不用判断余数是否大于模的。 本来还想直接贴hdu那题的过去的,结果贴过去以后返回了wa,然后我就开始怀疑自己的BSGS写烂了,在hdu只是轻轻水过而已。于是,我就一个花了一个上午去debug这题,同时认真理解了一下BSGS算法的原理。对于前面一题消因子的方法,http://www.2cto.com/kf/201208/146200.html这个博客的解释比较容易理解。然后,我就根据思路,仔细的检查了一下代码,同时把某些判.. 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2815 题意很简单,转换过来,就是要求满足K^x mod P = N的最小X。 这是专业版的Baby-Step Giant-Step,相对之前那个hdu 1395的BSGS的用途广泛的多。这里的算法可以解决当底数与模非互质的时候,满足条件的X的最小值。 BSGS粗略的说,就是像我前两篇随笔的解释一样。不过,实际解决问题的时候,如果底数与模不是互质,那么exgcd求AX mod B = C中,X的解并不正确。因此,在该过程前,要将式子中的A与B互质,从而解出唯一解!使得两者互质的过程如下:while((t... 阅读全文