poj 3734 Blocks【指数型生成函数】
2024-08-28 01:08:42
指数型生成函数,推一推可得:
\[(1+\frac{x^1}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+...)^2+(1+\frac{x^2}{2!}+\frac{x^4}{4!}+\frac{x^6}{6!}+...)^2
\]
\]
\[=e^{2x}+(\frac{e^x+2^-x}{2})^2
\]
\]
\[=e^{2x}+\frac{e^{2x}+e^{-2x}+2}{4}
\]
\]
\[=\frac{e^{4x}+2e^{2x}+1}{4}
\]
\]
因为
\[e^x=\sum_{i=0}^{inf}\frac{x^i}{i!},e^{4x}=\sum_{i=0}^{inf}\frac{(4x)^i}{i!}=\sum_{i=0}^{inf}\frac{4^ix^i}{i!}
\]
\]
所以展开可得
\[=\frac{1}{4}+\frac{\sum_{i=0}^{inf}\frac{4^ix^i}{i!}+2*\sum_{i=0}^{inf}\frac{2^ix^i}{i!}}{4}
\]
\]
\[=\frac{1}{4}+\frac{\sum_{i=0}^{inf}(4^i+2^{i+1})*\frac{x^i}{i!}}{4}
\]
\]
前面的常数不用管,这样取i个的答案也就是第i项的系数就是\( 4i+2{i+1} \)
#include<iostream>
#include<cstdio>
using namespace std;
const int mod=10007;
int T,n;
int ksm(int a,int b)
{
int r=1;
while(b)
{
if(b&1)
r=r*a%mod;
a=a*a%mod;
b>>=1;
}
return r;
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
printf("%d\n",(ksm(2,n-1)+ksm(4,n-1))%mod);
}
return 0;
}
最新文章
- Adaboost\GBDT\GBRT\组合算法
- 为什么你不应该使用 MongoDB
- RunLoop相关知识的总结
- R获取股票数据
- Bug测试报告--食物链教学工具--奋斗吧兄弟
- iOS多线程-03-NSOperation与NSOperationQueue
- POJ_1065_Wooden_Sticks_(动态规划,LIS+鸽笼原理)
- 为Spring添加REST功能
- Oracle普通视图和物化视图的区别
- Problem 2285 迷宫寻宝 (BFS)
- UWP 自定义控件:了解模板化控件 系列文章
- vs2010编译错误(报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏)
- Java实现 SSL双向认证
- Angular之模版引用变量
- 知道椭圆长轴,短轴长度,ab直线的长度知道且垂直于长轴。求ab的弧长。
- Javascript 浏览器检测
- java写简单Excel 首行是目录 然后前台下载
- (一)Jmeter 简单的录制
- Docker中配置字符集支持中文
- HDFS命令行工具
热门文章
- 自己定义控件事实上非常easy1/6
- HDU 3118 Arbiter 判定奇圈
- jQuery源代码框架思路
- MySql 查询一周内记录
- for in 与for of
- device not managed by NetworkManager
- Quartz深入浅出(二)
- the hard problems when writing a great connector; type cohersion, data partitioning and data locality to name a few
- Android Studio解决导入项目非常慢
- 学习html5 中的canvas(一)