题目背景
本题由世界上最蒟蒻最辣鸡最撒比的SOL提供。
寂月城网站是完美信息教室的官网。地址:http://191.101.11.174/mgzd 。
题目描述
辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌!
今天他萌上了组合数。现在他很想知道simga(C(n,i))是多少;其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。
由于答案可能很大,请输出答案对6662333的余数。
输入输出格式
输入格式:
输入仅包含一个整数n。
输出格式:
输出一个整数,即为答案。
输入输出样例
3
4
说明
对于20%的数据,n <= 20;
对于50%的数据,n <= 1000;
对于100%的数据,n <= 1 000 000 000 000 000 000 (10^18)
题解:
二项式定理
C(n,0)+C(n,1)+...C(n,n)=2^n (由(1+1)^n得
C(n,0)-C(n,1)+C(n,2)-C(n,3)...=0(由(1-1)^n得
所以本题答案为2^n/2
代码:
#include<iostream> #include<cstdio> #include<cstring> #define mod 6662333 #define LL long long using namespace std; LL n; LL ksm(LL x,LL y){ LL ret=1; while(y){ if(y&1)ret=ret*1LL*x%mod; x=x*1LL*x%mod; y>>=1; } return ret; } int main(){ scanf("%lld",&n); printf("%lld\n",ksm(2,n-1)%mod); return 0; }