洛谷——P3414 SAC#1 - 组合数
P3414 SAC#1 - 组合数
题目背景
本题由世界上最蒟蒻最辣鸡最撒比的SOL提供。
寂月城网站是完美信息教室的官网。地址:http://191.101.11.174/mgzd 。
题目描述
辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌!
今天他萌上了组合数。现在他很想知道simga(C(n,i))是多少;其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。
由于答案可能很大,请输出答案对6662333的余数。
输入输出格式
输入格式:
输入仅包含一个整数n。
输出格式:
输出一个整数,即为答案。
输入输出样例
说明
对于20%的数据,n <= 20;
对于50%的数据,n <= 1000;
对于100%的数据,n <= 1 000 000 000 000 000 000 (10^18)
排列组合(卢卡斯定理)能得50分、、
n的范围太大,数组开不开,因此就不能用lus定理了,我们应该在找一种做法
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 1000000 #define mod 6662333 #define ll long long using namespace std; int n,ans,jie[N]; int read() { ,f=; char ch=getchar(); ;ch=getchar();} +ch-',ch=getchar(); return x*f; } ll qpow(ll a,ll b,ll p) { ll res=; while(b) { ) res=res*a%p; a=a*a%p;b>>=; }return res; } ll C(ll n,ll m,ll p) { ; ,p)%p; } ll Lus(ll n,ll m,ll p) { ) ; return Lus(n/p,m/p,p)*C(n%p,m%p,p); } int main() { n=read();jie[]=; ;i<=n;i++) jie[i]=1ll*jie[i-]*i%mod; ;i<=n;i+=) ans=(ans+Lus(n,i,mod))%mod; printf("%d",ans); ; }
50分卢卡斯定理
打表找规律
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 1000000 #define mod 6662333 #define ll long long using namespace std; int n,ans,jie[N]; int read() { ,f=; char ch=getchar(); ;ch=getchar();} +ch-',ch=getchar(); return x*f; } ll qpow(ll a,ll b,ll p) { ll res=; while(b) { ) res=res*a%p; a=a*a%p;b>>=; }return res; } ll C(ll n,ll m,ll p) { ; ,p)%p; } ll Lus(ll n,ll m,ll p) { ) ; return Lus(n/p,m/p,p)*C(n%p,m%p,p); } int main() { jie[]=; ;i<;i++) jie[i]=1ll*jie[i-]*i%mod; ;n<=;n++) { ans=; ;i<=n;i+=) ans=(ans+Lus(n,i,mod))%mod; printf("%d %d\n",n,ans); } ; }
表
我们可以发现,ans=2^(n-1),因此用快速幂就可以搞定了
n输入的时候要用long long、、(老是RE。。。)
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define mod 6662333 #define ll long long using namespace std; long long n;int ans; ll read() { ll x=,f=; char ch=getchar(); ;ch=getchar();} +ch-',ch=getchar(); return x*f; } int qpow(int a,ll b,int p) { ; while(b) { ) res=1ll*res*a%p; a=1ll*a*a%p;b>>=; }return res; } int main() { n=read(); ans=qpow(,n-,mod); printf("%d",ans); ; }
洛谷——P3414 SAC#1 - 组合数的更多相关文章
- 洛谷P3414 SAC#1 - 组合数
P3414 SAC#1 - 组合数 218通过 681提交 题目提供者ProjectWTA 标签 难度普及/提高- 时空限制1s / 128MB 提交 讨论 题解 最新讨论更多讨论 讨论区出bug ...
- P3414 SAC#1 - 组合数 题解
https://www.luogu.org/problemnew/show/P3414(题目传送) 这道题提醒大家一定要认真审题.看清楚后发现n的数据范围稍微小于long long类型的范围(看不清被 ...
- P3414 SAC#1 - 组合数
题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数 ...
- 洛谷P4492 [HAOI2018]苹果树(组合数)
题意 题目链接 Sol 有点自闭,.我好像对组合数一窍不通(~~~~) Orz shadowice // luogu-judger-enable-o2 #include<bits/stdc++. ...
- 洛谷——P1869 愚蠢的组合数
P1869 愚蠢的组合数 题目描述 最近老师教了狗狗怎么算组合数,狗狗又想到了一个问题... 狗狗定义C(N,K)表示从N个元素中不重复地选取K个元素的方案数. 狗狗想知道的是C(N,K)的奇偶性. ...
- 洛谷 P2518 [HAOI2010]计数 (组合数)
题面 luogu 题解 本来想练数位dp的,结果又忍不住写了组合数.. 去掉一个\(0\)可以看作把\(0\)移到前面去 那么题目转化为 \(n\)有多少个排列小于\(n\) 强制某一位比\(n\)的 ...
- 洛谷P3926 SAC E#1 - 一道不可做题 Jelly【模拟/细节】
P3926 SAC E#1 - 一道不可做题 Jelly [链接]:https://www.luogu.org/problem/show?pid=3926 题目背景 SOL君(炉石主播)和SOL菌(完 ...
- 洛谷—— P1869 愚蠢的组合数
https://www.luogu.org/problemnew/show/1869 题目描述 最近老师教了狗狗怎么算组合数,狗狗又想到了一个问题... 狗狗定义C(N,K)表示从N个元素中不重复地选 ...
- luogu P3414 SAC#1 - 组合数(组合数学)
题意 求sigma(C(n,i))其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数. 由于答案可能很大,请输出答案对6662333的余数. (n<=101 ...
随机推荐
- Cppcheck代码分析下
1.流解析 解析函数中的可能的代码执行流, 函数实际执行中只会执行代码流中的一条流 分析: 分支语句 if-else ,switch-case 循环语句 while, do-while ...
- SVN服务器更换IP,客户端重新定位
svn服务器更换ip,后客户端需要重新定位,操作如下: 1.找到你的项目文件所在的根目录,右键点击空白地方,弹出菜单 TortoiseSVN-->Relocate 点击Relocate ,弹出重 ...
- Proxmap Sort
这个排序是桶排序和基数排序的改进,理解了前两者,这个排序很容易理解 先回忆下桶排序是怎么回事,它与桶的区别在于入桶规则,桶排序里是1入1号桶,2入2号桶 这个排序把数字分区了,然后给出一个所谓的键,例 ...
- Exponial (欧拉定理+指数循环定理+欧拉函数+快速幂)
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2021 Description Everybody loves big numbers ...
- Spring 路由地址的基本使用
1.下面是spring的使用基本框架连接 https://www.cnblogs.com/HD/p/4103239.html
- ubuntu tomcat的安装与配置
一.下载jdk 大概是tomat大部分是由java写的, 所以一开始安装tomcat必须得配置好jdk http://www.oracle.com/technetwork/java/javase/do ...
- Unix/Linux Command Reference
- 【EverydaySport】健身笔记——静态牵拉
静态牵拉一般在运动后进行,可以有效的提高肌肉的柔韧性和关节的灵活性,预防和缓解疼痛. 每个动作达到自己活动范围的最大,有牵拉感即说明有效,静态保持至少30秒,切勿震荡,进行2组. 1 大腿前群牵拉 2 ...
- WmiPrvSE.exe进程(WMI Provider Host)不能删除
WmiPrvSE.exe进程基本信息:程序厂商:微软® Microsoft Corp.进程描述:WMI Provider Host进程属性:Windows系统进程使用网络:是的启动情况:触发启动 来历 ...
- iptables 操作
iptables --list 查看列表 iptables删除规则 iptables -nL --line-number Chain INPUT (policy ACCEPT)num target p ...