题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1061题目大意:n的n次方,输入个位数~这里介绍一个小的算法:快速幂取模首先,有n个数相乘,如s=a*a*a*a*a*a*a*a*a;假设b=a*a;则s=b*b*b*b*a;继续假设c=b*b;则s=c...
分类:
Web程序 时间:
2014-08-01 19:38:02
阅读次数:
215
快速幂取模算法的时间复杂度为O(logb),能在几乎所有的程序设计(竞赛)过程中通过,是目前最常用的算法之一,值得推广学习!!!
首先要了解这样一个公式:a^b mod c=(a mod c)^b mod c(详细证明请看数论或者离散数学)
了解了这个公式,我们可以先让a关于c取余,这样可以大大减少a的大小, 于是不用思考的进行了改进,代码如下: ..........
分类:
其他好文 时间:
2014-08-01 00:09:31
阅读次数:
299
//根据以下三个基本关系可以推出答案。//1.一个数对三取模的余数,是它各个数位之和对三取模的余数(对6,9也成立)//2.1234567891011……(n-1)(n)=1234567891011……(n-1)*10^(n的位数)+n//3.10 mod 3=1,所以10^n mod 3=1.//...
分类:
其他好文 时间:
2014-07-31 15:57:16
阅读次数:
210
KMP算法:/** KMP算法中获取模式中每位的next值。next[i]=j表示pattern[0..i]中最长前后缀后面的那个元素的位置为j在进行匹配的过程中,匹配失败则取得上一个 next 函数的值*/void get_next(char *pattern, int *next){int le...
分类:
其他好文 时间:
2014-07-31 13:03:16
阅读次数:
167
题目链接:uva 1478 - Delta Wave
题目大意:对于每个位置来说,可以向上,水平,向下,坐标不能位负,每次上下移动最多为1, 给定n问说有多少种不同的图。结果对10100取模。
解题思路:因为最后都要落回y=0的位置,所以上升的次数和下降的次数是相同的,并且上升下降的关系满足出栈入栈的关系。即卡特兰数。
所以每次枚举i,表示有i个上升,i个下降,用组合数学枚举出位置,...
分类:
其他好文 时间:
2014-07-30 23:59:15
阅读次数:
701
使一个特定的表格隔行变色 元素。 3. 在元素下获取元素。 4. 循环输出获取的元素。 5. 对元素的索引值除以2并取模,然后根据奇偶设置不同的背景色。 --> 第一行第一行 ...
分类:
Web程序 时间:
2014-07-30 23:41:35
阅读次数:
308
题目连接:uva 1390 - Interconnect
题目大意:给出n表示有n个点,m表示有m条边,现在任选两点建立一条边,直到整个图联通,问说还需建立边数的期望,建过边的两点仍可以建边。
解题思路:哈希的方法很是巧妙,将各个联通分量中节点的个数c[i]转换成一个30进制的数(因为节点个数最多为30),因为结果很大,所以对1e5+7取模。获得的哈希值作为插入和搜索的起点。
#in...
分类:
其他好文 时间:
2014-07-28 00:16:09
阅读次数:
426
给n个球,每个球可以涂成红色和蓝色任意一种,求相连的红色球的个数不少于m的涂色方案有多少种,结果对MOD取模...
分类:
其他好文 时间:
2014-07-27 11:34:32
阅读次数:
177
题目:Divide two integers without using multiplication, division and mod operator.题解:这道题我自己没想出来。。。乘除取模都不让用。。那只有加减了。。。我参考的http://blog.csdn.net/perfect888....
分类:
编程语言 时间:
2014-07-27 11:06:32
阅读次数:
303