07 2016 档案

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594 思路:将两个串连起来求一遍Next数组就行长度为两者之和,遍历时注意长度应该小于两个串中的最小值 阅读全文
posted @ 2016-07-30 15:56 pter 阅读(210) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358 思路:Next数组的用法,在第i个位置上如果有i%(i-Next[i])==0的话最小循环节就是T[0~i],共有i/(i-Next[i])个循环节 题意就是让从第二个位置开始找出有循环的位置节并 阅读全文
posted @ 2016-07-29 15:22 pter 阅读(172) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 思路:KMP中Next数组的应用,求出最小的循环节,题目的意思是只能在字符串的后面上添加新的字符凑成两个循环节 用Next数组来求最小循环节的方法见这:http://www.cnblogs.com 阅读全文
posted @ 2016-07-29 11:20 pter 阅读(126) 评论(0) 推荐(0)
摘要:母串:S[i] 模式串:T[i] 标记数组:Next[i](Next[i]表示T[0~i]最长前缀/后缀数) 先来讲一下最长前缀/后缀的概念 例如有字符串T[6]=abcabd接下来讨论的全部是真前缀/真后缀,也就是除去串自己本身之外的前缀/后缀 T[0]=a,此时前后缀都是a那么Next[0]=1 阅读全文
posted @ 2016-07-28 15:41 pter 阅读(233) 评论(0) 推荐(0)
摘要:链接:http://codevs.cn/problem/1080/ 先用树状数组水一发,再用线段树水一发 树状数组代码:84ms 线段树代码:48ms 阅读全文
posted @ 2016-07-26 11:10 pter 阅读(221) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541 思路:要求求出不同等级的星星的个数,开始怎么也想不到用树状数组,看完某些大神的博客之后才用树状数组写的,搞了好久才懂得数组的更新过程 附上样例中数组的更新过程,上面一行是c[i],下面是level 阅读全文
posted @ 2016-07-26 10:39 pter 阅读(139) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5726 阅读全文
posted @ 2016-07-25 21:20 pter 阅读(204) 评论(0) 推荐(0)
摘要:转自:http://www.dxmtb.com/blog/miller-rabbin/ 普通的素数测试我们有O(√ n)的试除算法。事实上,我们有O(slog³n)的算法。 定理一:假如p是质数,且(a,p)=1,那么a^(p-1)≡1(mod p)。即假如p是质数,且a,p互质,那么a的(p-1) 阅读全文
posted @ 2016-07-25 14:30 pter 阅读(1881) 评论(0) 推荐(0)
摘要:树状数组又名二分索引术,主要包含两种基本操作 1.Update(int i,int val)更新节点及其所有父节点及祖先节点的值,表示对第i点的值增加val。时间复杂度O(logn) 2.Sum(int i)表示对前i个点进行求和操作.时间复杂度O(logn),n表示节点总数,logn即log2n。 阅读全文
posted @ 2016-07-23 11:10 pter 阅读(231) 评论(0) 推荐(0)
摘要:使用o(n)的manacher算法,详见代码 阅读全文
posted @ 2016-07-22 13:24 pter 阅读(112) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 思路:正常KMP求解aaaaaa aa得到的结果是6,这题是3。仅仅改一点代码就行 当匹配完之后将j=m_next[j]改为j=0即可,见代码 阅读全文
posted @ 2016-07-21 15:07 pter 阅读(124) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=3461 统计字符串出现的次数 阅读全文
posted @ 2016-07-21 14:43 pter 阅读(109) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 数字KMP,原来还能这么用 阅读全文
posted @ 2016-07-21 13:29 pter 阅读(107) 评论(0) 推荐(0)
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题意:给定一个序列和k,求在k次交换之后序列的逆序数,只能相邻两个数交换且只有左边的数大于右边时才能交换 代码如下 阅读全文
posted @ 2016-07-20 16:05 pter 阅读(141) 评论(0) 推荐(0)
摘要:Miller-Rabin算法实现,但是一直被判题程序搞,输入9999999999得到的结果分明是正确的但是一直说我错 阅读全文
posted @ 2016-07-19 22:39 pter 阅读(150) 评论(0) 推荐(0)
摘要:链接:http://codevs.cn/problem/1530/ 解题思路: 这个题最关键的剪枝还是 因子小于平方根,但不是像原来那样用。 逆转思维,与其说判断哪些是质数,不如说判断哪些不是质数,更简单,更效率。 所有的合数都有一个共同的特点,就是能被拆成质因子。 那么已经出现的质因子,迟早有一次 阅读全文
posted @ 2016-07-19 14:46 pter 阅读(176) 评论(0) 推荐(0)
摘要:题目链接:http://codevs.cn/problem/1488/ 写个高精度大数运算就行 阅读全文
posted @ 2016-07-19 13:58 pter 阅读(223) 评论(0) 推荐(0)
摘要:dp加二分法 链接:http://codevs.cn/problem/2851/ 阅读全文
posted @ 2016-07-19 11:38 pter 阅读(135) 评论(0) 推荐(0)