快速幂取模算法的时间复杂度为O(logb),能在几乎所有的程序设计(竞赛)过程中通过,是目前最常用的算法之一,值得推广学习!!!
首先要了解这样一个公式:a^b mod c=(a mod c)^b mod c(详细证明请看数论或者离散数学)
了解了这个公式,我们可以先让a关于c取余,这样可以大大减少a的大小, 于是不用思考的进行了改进,代码如下: ..........
分类:
其他好文 时间:
2014-08-01 00:09:31
阅读次数:
299
母函数又叫生成函数,原是数学上的一个名词,是组合数学中的一个重要理论。
生成函数是说,构造这么一个多项式函数g(x),使得x的n次方系数为f(n)。
对于母函数,看到最多的是这样两句话:
1.“把组合问题的加法法则和幂级数的乘幂对应起来。”
2.“把离散数列和幂级数一 一对应起来,把离散数列间的相互结合关系对应成为幂级数间的运算关系,最后由幂级数形式来确定离散数列的构造。 “...
分类:
其他好文 时间:
2014-07-31 13:36:36
阅读次数:
206
/*
中文题意:
中文翻译:
题目大意:求出最小的 n 使得2的 I 次方对 n 的值为1.
解题思路:如下:
难点详解:先用费马小定理了解2的 i 次方对偶数取余都不可能是一,还有就是排除 1 。之后要用中国剩余定理让 t 的值不超出 int 范围。不用这个定理我错了n次,都是超时。我猜测可能是 t 的值超出了int 的范围了,之后的数都是随机的,所以一直运行不出来,才会超时的。(不知...
分类:
其他好文 时间:
2014-07-31 13:17:46
阅读次数:
185
题目简洁明了,给出矩阵,求前k次方和。不知道这种方法是叫做二分幂还是倍增法,如果有知道的,请告诉我一下。具体思想是这样的,A^1+A^2+A^3+......A^n=(E+A^(n/2))*(A^1+A^2+.....A^(n/2)),如果n为奇数,那么我们只要加上多余的哪一项就可以满足条件了,于是...
分类:
其他好文 时间:
2014-07-31 02:23:35
阅读次数:
283
yte是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。目前我们常用计算存储空间的最小单位(其实还有更小的bit,1 Byte=8 bit)。不过从硬盘或者叫做存储空间来说,我们用到的最小单位是KB(Kilobyte),大小为2的10次方字节,与Byte换算是:1KB...
分类:
数据库 时间:
2014-07-30 23:44:05
阅读次数:
550
计算机只能识别0.1代码.n进制转化为10进制:当前位的数乘以基数的位数减1次方10进制转化为n进制:连除倒去余的方法一个字节代表8个二进制位字节是计算机中最小的单位,我们平常说的内存2G就是说,有2G德字节.常量:程序运行中值不发生变化的量变量:程序运行中会发生变化的量变量代表..
分类:
其他好文 时间:
2014-07-30 03:29:34
阅读次数:
179
我看了很多关于此项的解读,尤其是百度知道上的回到很多都是扯淡,实在看不下去,所以写篇文章,以供大家对着方面有个清楚的了解。
一、从传播速度上看,光纤传播速度比铜线真的快吗?
大家都知道,铜线就是我们所说的电缆,传播电信号;而光纤传播的是光信号。所以,一般网络接入有电缆接入和光纤接入两种方式。
先看下这两种媒介下的传播速度:铜线中的电信号传播速度大约为2.3*10(8次方)m/s,光纤...
分类:
其他好文 时间:
2014-07-29 15:08:38
阅读次数:
227
用二分查找来找到一个X使得满足X!%M==0
M=a1^b1*a2^b2*a3^b3…*an^bn
X!=1*2*3*4*5....*X;
M可以化为其个个质因子的k次方的乘积
例如 2^3*3^2*4^5==2^13*3^2;
X!则可以得到
例如 2的次方为
X! = 2^(X/2)*(1*2*3*4*5*6*7....*X/2)*other=(x/2)! *othe...
分类:
其他好文 时间:
2014-07-29 15:05:18
阅读次数:
171
小光棍数
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述 最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数。他已经知道了第一个小光棍数是471,471的三次方是104487111,现在他想知道第m(m<=10000000000)个小光棍数是多少?
输入有多组测试数据。第一行一个整数n,表示有...
分类:
其他好文 时间:
2014-07-29 13:09:46
阅读次数:
182
可以通过顶角角度来计算切线与坐标轴的坐标开始还以为有公式可以算,谁知道原来是解二元一次方程,靠。。#include #include #include #include using namespace std;const int MAX=1050;struct point{ double x; in...
分类:
其他好文 时间:
2014-07-29 11:44:26
阅读次数:
225