Hash在信息学竞赛中的一类应用论文中的第一道例题,关于二维hash的一些处理方法和小技巧通过RK法计算hash值如果不取模的话可以O(n)预处理,然后O(1)得到任意一个字串的hash值得到任意子串的hash值的时候不能用除和取模运算了,显然是错的二维hash如果使用RK法每一次的p值必须不一样如...
分类:
其他好文 时间:
2014-09-02 21:19:55
阅读次数:
198
题目链接:uva 10951 - Polynomial GCD题目大意:给出n和两个多项式,求两个多项式在全部操作均模n的情况下最大公约数是多少。解题思路:欧几里得算法,就是为多项式这个数据类型重载取模运算符,须要注意的是在多项式除多项的过程中,为了保证各项系数为整数,须要将整个多项式的系数总体扩大...
分类:
其他好文 时间:
2014-08-29 12:41:38
阅读次数:
252
首先 m = 1 时 ans = 0对于 m > 1 的 情况 由于 1 到 m-1 中所有和m互质的数字,在 对m的乘法取模 运算上形成了群 ai = ( 1 2的情况,只需求a^2 = 1 (mod m)的解的个数是不是4的倍数a^2 = 1 (mod m) 等价变换(a + 1)(a -...
分类:
其他好文 时间:
2014-08-04 14:15:17
阅读次数:
284
这两种运算总是感觉有点迷糊,现在 拨开乌云见天日。
对于整型数a,b来说,取模运算或者求余运算的方法都是:
1.求 整数商: c = a/b;
2.计算模或者余数: r = a - c*b.
#include
using namespace std;
void div(){
printf("5/3: %d",5/3);cout << endl;
printf("...
分类:
其他好文 时间:
2014-08-03 18:02:25
阅读次数:
195
Divide two integers without using multiplication, division and mod operator.题解:要求不用乘除和取模运算实现两个数的除法。那么用加减法是很自然的选择。不过如果一次只从被除数中剪掉一个除数会TLE。所以我们借助移位运算,依次从...
分类:
其他好文 时间:
2014-07-24 17:09:15
阅读次数:
203
取模运算本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!求模运算与求余运算不同。“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问...
分类:
其他好文 时间:
2014-07-22 00:25:34
阅读次数:
387
很简单的一个递推法的题目,我直接用矩阵快速幂去过了。
构造方法也很简单。
f1 + f3 = f2
f3 = f2 - f1
f3 = 1 * f2 + -1 * f1
f2 = 1 * f2 + 0 * f1
所以矩阵就是
1, -1
1, 0
然后就是取模运算和负数处理了。负数取模会返回负数。因为我是快速幂的写法,最后返回的数一定是在(-Mod, Mod)之间的,所以直接加上一个Mod,然后再取一次模就好了。...
分类:
其他好文 时间:
2014-07-20 10:28:28
阅读次数:
314
Divide two integers without using multiplication, division and mod operator.思路:不能使用乘法除法以及取模运算来计算两个数相除。主要做法就是,将因子不断乘2(向左移位即可实现),同时结果从1不断移位加倍,等到除数大于被除数一...
分类:
其他好文 时间:
2014-07-06 15:34:24
阅读次数:
197
题目链接:uva 10951 - Polynomial GCD
题目大意:给出n和两个多项式,求两个多项式在所有操作均模n的情况下最大公约数是多少。
解题思路:欧几里得算法,就是为多项式这个数据类型重载取模运算符,需要注意的是在多项式除多项的过程中,为了保证各项系数为整数,需要将整个多项式的系数整体扩大至一定倍数,碰到先除后模的时候要用逆元。
#include
#include
...
分类:
其他好文 时间:
2014-07-05 11:00:09
阅读次数:
271