题目传送门 1 /* 2 题意:求冒泡排序扫描k次能排好序的全排列个数 3 数学:这里有一个反序列表的概念,bj表示在j左边,但大于j的个数。不多说了,我也是看网上的解题报告。 4 详细解释:http://blog.csdn.net/cscj2010/article/deta...
分类:
其他好文 时间:
2015-07-31 21:47:08
阅读次数:
130
取余数有%,即10%3可以得到1但是当数比较大时(比如2999999),计算机可能就无法计算然而,根据数论的结论,我们可以简化一下。根据a*b mod c = ( (a mod c) * (b mod c) ) mod c可以得出 an mod b = (a mod b)n mod b所以,有 an...
分类:
其他好文 时间:
2015-07-29 22:48:22
阅读次数:
165
1 int multi(int a,int b) 2 { 3 if(b==0) 4 return 1; 5 if(b==1) 6 return a; 7 int ret=multi(a,b/2); 8 ret=(ret*ret)%MO...
分类:
其他好文 时间:
2015-07-24 10:36:57
阅读次数:
112
本文转载的,觉得比较详细快速幂取模算法在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去...
分类:
其他好文 时间:
2015-07-20 20:53:50
阅读次数:
120
//a^n的结果对MOD取余const int MOD=10003;int PowMOD(int a,int n){ int ret=1; a%=MOD; while(n){ if(n&1){ ret =(ret*a)%MOD; }...
分类:
其他好文 时间:
2015-07-13 11:34:17
阅读次数:
94
Pow(x, n)
可以直接用库函数pow(x,n)一步搞定,但明显这样就没意思了。
参考快速幂取模
二分,复杂度为O(logn)
递归方法
class Solution {
public:
double myPow(double x, int n) {
if(n<0) return 1.0/myPow_1(x,-n);
...
分类:
其他好文 时间:
2015-07-09 18:02:45
阅读次数:
92
用二分,使复杂度由 O(n) 变为 O(logn)
#include
#include
using namespace std;
/// (b^n)mod m; (a*b mod m) = (a mod m)*(b mod m)mod m O(log n)
/// (b^n)mod m; (a - b ) mod m =( (a mod m)-(b mod m) ...
分类:
其他好文 时间:
2015-07-09 16:13:37
阅读次数:
100
【题目链接】:click here~~【题目大意】:计算x1^m+x2^m+..xn^m(1 1 )
【解题思路】:
快速幂取模
代码:
#include
#define LL long long
using namespace std;
const LL mod=(LL)1e9+7;
LL pow_mod(LL a,LL p,LL n)
{
if(p==0) return...
分类:
其他好文 时间:
2015-06-29 00:37:24
阅读次数:
173
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #in...
分类:
其他好文 时间:
2015-06-16 22:35:49
阅读次数:
167
在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更...
分类:
编程语言 时间:
2015-06-04 18:54:13
阅读次数:
169