指数型生成函数,推一推可得:

\[(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;
}

最新文章

  1. Adaboost\GBDT\GBRT\组合算法
  2. 为什么你不应该使用 MongoDB
  3. RunLoop相关知识的总结
  4. R获取股票数据
  5. Bug测试报告--食物链教学工具--奋斗吧兄弟
  6. iOS多线程-03-NSOperation与NSOperationQueue
  7. POJ_1065_Wooden_Sticks_(动态规划,LIS+鸽笼原理)
  8. 为Spring添加REST功能
  9. Oracle普通视图和物化视图的区别
  10. Problem 2285 迷宫寻宝 (BFS)
  11. UWP 自定义控件:了解模板化控件 系列文章
  12. vs2010编译错误(报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏)
  13. Java实现 SSL双向认证
  14. Angular之模版引用变量
  15. 知道椭圆长轴,短轴长度,ab直线的长度知道且垂直于长轴。求ab的弧长。
  16. Javascript 浏览器检测
  17. java写简单Excel 首行是目录 然后前台下载
  18. (一)Jmeter 简单的录制
  19. Docker中配置字符集支持中文
  20. HDFS命令行工具

热门文章

  1. 自己定义控件事实上非常easy1/6
  2. HDU 3118 Arbiter 判定奇圈
  3. jQuery源代码框架思路
  4. MySql 查询一周内记录
  5. for in 与for of
  6. device not managed by NetworkManager
  7. Quartz深入浅出(二)
  8. the hard problems when writing a great connector; type cohersion, data partitioning and data locality to name a few
  9. Android Studio解决导入项目非常慢
  10. 学习html5 中的canvas(一)