摘要: 给定模线性方程组,求最终的值的通解。点击 两个模方程可以化解成一个模方程 x mod a1 = b1 x mod a2 = b2 a1*k1 + a2*k2 = b2 – b1 // 其中k1k2是自由元 用扩展欧几里得算出k1的解,当然它是一个解系,找出最小k1作为特解,带入x = a1 * k1 阅读全文
posted @ 2017-07-23 22:54 可达龙 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 相关逆元求法,我之前有写过,还有欧拉函数的求法,欧拉函数与逆元的关系 点击POJ 2478又是一个打表的题目,一眼看出结果就是前n个欧拉函数值的和。这里直接计算欧拉函数值求和会超时,看见多组数据。然后就是计算欧拉函数,打表就好了。#include #include #include using namespace std;typedef long long LL;const int N = 1e... 阅读全文
posted @ 2017-07-23 22:25 可达龙 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 素数打表的方法是数论里面非常常用的技巧,如果数比较大的话,筛出其中的素数跟普通筛的原理差不多。 就是给数组一个偏移量,然后来筛取,比如用0~100000来表示100000000~100100000的素数表,弄一个100000000的偏移量就好了 每次,写随笔之前基本上都自己敲一遍代码,然后提交看看, 阅读全文
posted @ 2017-07-23 22:14 可达龙 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 学了KMP算法,就能解决大部分的单模匹配,但是当有多个搜索词的时候就捉襟见肘了。然后就又有一个新知识(对我来说),AC自动机。 之前也听说过,但是看到这个东西排在lrj的书的后面,我就被吓到了,所以还是说不能害怕做题,要敢于正视问题,才能解决问题。 和KMP类似,AC自动机放在字典树的基础上,增加了 阅读全文
posted @ 2017-07-23 21:26 可达龙 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 曾经有一个好算法放到我面前,我没有好好珍惜,直到用到的时候才后悔莫及。 那就是Manacher(马拉车算法),以O(n)的复杂度计算最长回文字符串。 曾经刷Leetcode的时候,室友跟我说了这个算法,但当时那个题目用中间枚举也过了,我就没有在意,直到前天才弄会,写这篇报告之前, 我又专门写了一遍马 阅读全文
posted @ 2017-07-23 21:15 可达龙 阅读(182) 评论(0) 推荐(0) 编辑
摘要: KMP原理 点击 FZU 2275 Game 乍一看是个博弈的题目,实际上是重现里面比较简单的字符匹配。 只要B是0,那么A一定赢。只要A的长度小于B,那么B一定赢。 只有当A中可以搜索到B,也就是B或者B的反转是A的子串,那么A就可以赢。 上述是一个裸的KMP,POJ的这个是一个KMP的变形,就是 阅读全文
posted @ 2017-07-23 20:29 可达龙 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 小结一下,暑假的集训才开始3天,对我来说可以说强度很大,每天都有补不完题,而且对于知识点的扎实程度也很有疑问。 每天下午5小时做题,弱鸡的我十三四题总能剩下一大半,然后回宿舍看题解学知识点,模板来说每天20多页的推进,说实话自己有点跟不上。 从没这么恨自己的脑子过。。。 今天题也补不进去了,就回顾下 阅读全文
posted @ 2017-07-23 20:08 可达龙 阅读(87) 评论(0) 推荐(0) 编辑