HDU 5363 Key Set
2016-05-31 20:16
197 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5363
题意:给出一个大小为n集合,问有多少子集合里数的和等于一个偶数
思路:有n/2个偶数,n/2个奇数(设n是偶数),可以选取的偶数一共有:C(n/2,0)+C(n/2,1)+……+C(n/2,2)=2^(n/2)种情况,而可以选取的奇数有:C(n/2,0)+C(n/2,2)+……+C(n/2,n)=(2^n/2)/2种情况,乘起来就好了等于2^(n-1),最后要减去一个空集
题意:给出一个大小为n集合,问有多少子集合里数的和等于一个偶数
思路:有n/2个偶数,n/2个奇数(设n是偶数),可以选取的偶数一共有:C(n/2,0)+C(n/2,1)+……+C(n/2,2)=2^(n/2)种情况,而可以选取的奇数有:C(n/2,0)+C(n/2,2)+……+C(n/2,n)=(2^n/2)/2种情况,乘起来就好了等于2^(n-1),最后要减去一个空集
<span style="font-size:18px;">#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #define LL long long #define mod 1000000007 using namespace std; LL Pow (LL a,LL b) { LL x=1; while (b) { if (b%2==1) x=(a*x)%mod; a=(a*a)%mod; b/=2; } return x; } int main() { int t; LL n; scanf("%d",&t); while (t--) { scanf("%I64d",&n); LL res=Pow(2,n-1)-1; printf("%I64d\n",res); } //(1+x)^n=cn1 * x^n + cn2 * x^(n-1)……+cnn * x^0 } </span>
相关文章推荐
- 简单的四则运算
- 数的奇偶性
- ACMer博客瀑布流分析
- ACM程序设计大赛题目分类
- 计算字符串最后一个单词长度
- ACM网址
- 1272 小希的迷宫
- 1272 小希的迷宫
- hdu 1250 大数相加并用数组储存
- 矩阵的乘法操作
- 蚂蚁爬行问题
- 蚂蚁爬行问题
- 求两个数的最大公约数【ACM基础题】
- 打印出二进制中所有1的位置
- 杭电题目---一只小蜜蜂
- HDOJ 1002 A + B Problem II (Big Numbers Addition)
- 初学ACM - 半数集(Half Set)问题 NOJ 1010 / FOJ 1207
- 初学ACM - 组合数学基础题目PKU 1833
- 【HDU 5366】The mook jong 详解
- 【HDU 2136】Largest prime factor 详细图解