POJ_3734_母函数
2010-05-09 10:24
190 查看
//============================================================================
// Name : POJ_3734.cpp
// Author : tiger
// Version :
// Copyright : Your copyright notice
// Description : 指数型母函数,参考 高等教育出版社-数学建模与数学实验(第三版)一书P175例题6
// f(n) = 4^(n-1) + 2^(n-1)
//============================================================================
#include <iostream>
using namespace std;
//计算幂取模a^b mod n, O(logb)
int modular_exponent(__int64 a,__int64 b,__int64 n){ //a^b mod n
int ret=1;
for (;b;b>>=1,a=(int)((__int64)a)*a%n)
if (b&1)
ret=(int)((__int64)ret)*a%n;
return ret;
}
int main() {
freopen("in","r",stdin);
int T,N;
int ans;
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
ans = modular_exponent(4,(__int64)(N-1),(__int64)(10007));
ans += modular_exponent(2,(__int64)(N-1),(__int64)(10007));
printf("%d/n",ans % 10007);
}
return 0;
}
// Name : POJ_3734.cpp
// Author : tiger
// Version :
// Copyright : Your copyright notice
// Description : 指数型母函数,参考 高等教育出版社-数学建模与数学实验(第三版)一书P175例题6
// f(n) = 4^(n-1) + 2^(n-1)
//============================================================================
#include <iostream>
using namespace std;
//计算幂取模a^b mod n, O(logb)
int modular_exponent(__int64 a,__int64 b,__int64 n){ //a^b mod n
int ret=1;
for (;b;b>>=1,a=(int)((__int64)a)*a%n)
if (b&1)
ret=(int)((__int64)ret)*a%n;
return ret;
}
int main() {
freopen("in","r",stdin);
int T,N;
int ans;
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
ans = modular_exponent(4,(__int64)(N-1),(__int64)(10007));
ans += modular_exponent(2,(__int64)(N-1),(__int64)(10007));
printf("%d/n",ans % 10007);
}
return 0;
}
相关文章推荐
- poj 3734 矩阵快速幂、母函数
- 【POJ 3734】【用母函数推公式 或者 矩阵幂】 Blocks【现要给n块砖染红、蓝、绿、黄四种颜色。要求被染成红色和绿色的砖块数量必须为偶数,问染色方案数】
- POJ 3734 Blocks【用母函数推公式|矩阵乘法】
- poj 3734 Blocks(构造矩阵加快速幂)
- POJ 3734 Blocks
- POJ 3734 Blocks(dp、矩阵快速幂)
- poj 3734 <矩阵快速幂模版>
- POJ 3734_Blocks
- poj 3734 Blocks 递推+矩阵幂优化
- poj-3734(矩阵快速幂+推导)
- POJ 1014 Dividing (母函数优化)
- POJ-3734(DP + 矩阵求幂)
- Poj 3734 Blocks【递推+矩阵快速幂】好题
- POJ 3734 (矩阵快速幂+染色问题)
- POJ 3734 Blocks——矩阵快速幂
- poj 3734 Blocks
- POJ 3734 Blocks
- POJ 3734_Blocks
- Poj 3734 Blocks【矩阵快速幂+递推】
- POJ 1322 Chocolate(母函数)