题面

提示:无限输入

题解

一看这题的数据

...............................

这也太大了,必须边输入边取模才行,

但是式子很复杂,所以必须推出一些结论。

因为Xk是有顺序的,所以相当与给班级分名额的经典组合数例子,S(k)就等于C(N-1,K-1)

答案应该是 

这是不是就是杨辉三角的第n行的和?

因为杨辉三角的第n行所有的数都是由顶上的那一个1得到的,每一个数aij对下一行的贡献都是2aij,所以开头的那一个1对第n行的贡献就是 1<<n ,也就是2^(n-1)。

因为1e9 + 7是质数,所以我们用欧拉定理来做:

CODE

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
LL mod = 1e9 + 7ll,mod2 = 1e9 + 6ll;
LL n,m,i,j,s,o,k;
char ss[1000005];
LL superread() {
LL f = 1,x = 0,cn = 0;char s = ss[++cn];
while(s < '0' || s > '9') {if(s == '-') f = -1;s = ss[++cn];}
while(s >= '0' && s <= '9') {x = x * 10ll + s - '0';x %= mod2;s = ss[++cn];}
return x * f % mod2;
}
LL qkpow(LL a,LL b) {
if(b == 0) return 1;
if(b == 1) return a;
LL as = qkpow(a,b >> 1) % mod;
return as * as % mod * qkpow(a,b & 1) % mod;
}
int main() {
while(~scanf("%s",ss + 1)) {
n = superread();
printf("%lld\n",qkpow(2,n) * qkpow(2,mod - 2) % mod);
}
return 0;
}

最新文章

  1. zoj1530 bfs
  2. 【Android XMPP】 学习资料收集贴(持续更新)
  3. Qt之多线程
  4. Mac/Windows开发跨平台.NET Core 控制台程序
  5. 使用map做数组与链表去重
  6. Gulp-自动化编译sass和pug文件
  7. EJB_开发单表映射的实体bean
  8. Idea+Maven创建scala项目
  9. 此博客不再更新和分享UiPath文章
  10. 7. Oracle数据加载和卸载
  11. &lt;转&gt;jmeter(八)断言
  12. Asp.Net 之 OnClientClick 与 OnClick 的执行顺序
  13. css重要知识点
  14. 高阶函数map(),filter(),reduce()
  15. Educational Codeforces Round 13 B. The Same Calendar 水题
  16. datagrid在MVC中的运用09-实现排序
  17. Hadoop的体系结构之MapReduce的体系结构
  18. BZOJ 4011 【HNOI2015】 落忆枫音
  19. 用IO字节流复制文件-CopyFileByIo
  20. a标签点击时跳出确认框

热门文章

  1. Django——表单
  2. JVM学习笔记-从底层了解程序运行(一)
  3. 从0到1搭建一款Vue可配置视频播放器组件(Npm已发布)
  4. SAP创建XML 文件
  5. WPF开发随笔收录-心电图曲线绘制
  6. mysql备份数据库linux
  7. REST类型网址调用
  8. API概述,使用步骤和Scanner概述及其API文档的使用
  9. IDEA的项目结构和IDEA的HelloWord
  10. DIY蓝牙hub F1方向盘