前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >P3414 SAC#1 - 组合数

P3414 SAC#1 - 组合数

作者头像
attack
发布2018-04-13 15:10:46
5050
发布2018-04-13 15:10:46
举报

题目背景

本题由世界上最蒟蒻最辣鸡最撒比的SOL提供。

寂月城网站是完美信息教室的官网。地址:http://191.101.11.174/mgzd

题目描述

辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌!

今天他萌上了组合数。现在他很想知道simga(C(n,i))是多少;其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。

由于答案可能很大,请输出答案对6662333的余数。

输入输出格式

输入格式:

输入仅包含一个整数n。

输出格式:

输出一个整数,即为答案。

输入输出样例

输入样例#1:

代码语言:javascript
复制
3

输出样例#1:

代码语言:javascript
复制
4

说明

对于20%的数据,n <= 20;

对于50%的数据,n <= 1000;

对于100%的数据,n <= 1 000 000 000 000 000 000 (10^18)

一开始傻乎乎的求组合数

后来才发现原来求一下2^n-1就好,,

注意要开long long

代码语言:javascript
复制
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #define ll long long 
 6 using namespace std;
 7 const int mod=6662333;
 8 ll fastpow(ll m,ll p)
 9 {
10     ll ans=1;
11     ll base=m%mod;
12     while(p!=0)
13     {
14         if(p%2==1)
15         ans=(ans*base)%mod;
16         
17         base=(base*base)%mod;
18         p=p/2;
19     }
20     return ans;
21 }
22 int main()
23 {
24     ll n;
25     cin>>n;
26     cout<<(fastpow(2,n-1)%mod);
27     return 0;
28 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目背景
  • 题目描述
  • 输入输出格式
  • 输入输出样例
  • 说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档