博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2015 多校联赛 ——HDU5363(快速幂)
阅读量:6258 次
发布时间:2019-06-22

本文共 1416 字,大约阅读时间需要 4 分钟。

 

Problem Description
soda has a set 
S with 
n integers 
{
1,2,,n}
. A set is called key set if the sum of integers in the set is an even number. He wants to know how many nonempty subsets of 
S are key set.
 

 

Input
There are multiple test cases. The first line of input contains an integer 
T 
(1T105), indicating the number of test cases. For each test case:
The first line contains an integer 
n 
(1n109), the number of integers in the set.
 

 

Output
For each test case, output the number of key sets modulo 1000000007.
 

 

Sample Input
4 1 2 3 4
 

 

Sample Output
0 1 3 7

 

 

给你一个1-n的集合,问你有多少个子集的元素和为偶数

假设偶数有a个,奇数有b个,总数为n:

偶:C(0, a)+ C(1 , a)....... + C(a, a) =   2 ^ a

奇:C(0, b)+ C(2 , b)....... + C(b, b) = 2 ^ (b - 1)

all =  偶 * 奇 - 1(奇偶中都不选的情况);

--->   all  =  2 ^ (a + b - 1)- 1   =   2 ^ (n - 1) -1

#include 
#include
#include
#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;typedef long long ll;char ma[1100][1100];int ln, lm;const int mod = 1000000007;ll pow_mod(int a,int n){ if(n == 0) return 1; ll x = pow_mod(a,n/2); ll ans = (ll)x*x%mod; if(n %2 == 1) ans = ans *a % mod; return ans;}int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); ll sum1 = (pow_mod(2,n-1)-1)%mod; printf("%I64d\n",sum1); } return 0;}

  

转载于:https://www.cnblogs.com/Przz/p/5409797.html

你可能感兴趣的文章
Code Snippets
查看>>
YunTable开发日记(8)-聊聊分布式数据库的作用(转载)
查看>>
[BigData - Hadoop - YARN] YARN:下一代 Hadoop 计算平台
查看>>
Web服务器 之 FC4下安装plog快速指南(plog版本:1.01)
查看>>
php curl使用
查看>>
如何在Android和iOS设备上录制游戏?
查看>>
markdown
查看>>
项目中Gradle使用总结
查看>>
操作系统概论二
查看>>
Maven快速使用教程(三) Maven插件
查看>>
用分布式存储VSAN实现Harbor Registry的高可用方案
查看>>
我的友情链接
查看>>
CentOS5.9下编译安装MySQL5.0.16
查看>>
网络推广与网络营销的区别
查看>>
免费企业邮箱真的不需要成本吗?
查看>>
java 组合模式
查看>>
JSP中文乱码解决方案
查看>>
Metasploit 的使用方法概述
查看>>
shell 脚本之 Function 功能的使用
查看>>
[Windows 8小技巧]如何让Windows 8不显示锁屏画面
查看>>