SPOJ 27268 VECTAR5
来源:互联网 发布:proteus单片机仿真教程 编辑:程序博客网 时间:2024/06/10 20:08
Description
给出一个集合S={1,2,…,n},问从S中选取两个子集A,B使得A不是B的子集,B也不是A的子集
Input
第一行一整数T表示用例组数,每组用例输入一整数n表示一个集合S={1,2,…,n}(1<=T<=1e5,1<=n<=1e6)
Output
输出方案数,结果模1e9+7
Sample Input
2
4
8
Sample Output
110
52670
Solution
Code
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>#include<set>#include<ctime>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define maxn 1111111#define mod 1000000007ll f2[maxn],f3[maxn];void init(){ f2[0]=f3[0]=1; for(int i=1;i<maxn;i++)f2[i]=2ll*f2[i-1]%mod,f3[i]=3ll*f3[i-1]%mod;}int main(){ init(); int T,n; scanf("%d",&T); while(T--) { scanf("%d",&n); ll ans=f2[n]*(f2[n]+1)%mod-2ll*f3[n]%mod; ans=(ans%mod+mod)%mod; printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- SPOJ 27268 VECTAR5
- SPOJ VECTAR5 推公式
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- Spring结合mongotemplate遇到的问题
- 赴日软件开发
- 《Spring Cloud源码分析》系列进阶教程 转
- Less傻瓜式教程
- How To Install Discuz X3.2 on the One-Click LEMP Application
- SPOJ 27268 VECTAR5
- 简单几步开启手机OTG功能,
- PAT(Basic Level)_1034_有理数四则运算
- equals与==的应用
- Android——打包篇:Android Studio将代码打包成jar包
- 最佳网络编程实践二
- 反射机制笔记1
- 1129: 第几天
- Ubuntu 17.04 CUDA 8.0 安装问题