洛谷——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 ...
随机推荐
- Codeforces 617E XOR and Favorite Number莫队
http://codeforces.com/contest/617/problem/E 题意:给出q个查询,每次询问区间内连续异或值为k的有几种情况. 思路:没有区间修改,而且扩展端点,减小端点在前缀 ...
- [洛谷P1822] 魔法指纹
洛谷题目连接:魔法指纹 题目描述 对于任意一个至少两位的正整数n,按如下方式定义magic(n):将n按十进制顺序写下来,依次对相邻两个数写下差的绝对值.这样,得到了一个新数,去掉前导0,则定义为ma ...
- Linux和windows下检查jsp后门文件的方法
Linux下: find . -name "*.jsp" | xargs egrep -liw "createNewFile| File\(| File |applica ...
- 【poj3621】最优比率环
题意: 给定n个点,每个点有一个开心度F[i],每个点有m条单向边,每条边有一个长度d,要求一个环,使得它的 开心度的和/长度和 这个比值最大.n<=1000,m<=5000 题解: 最优 ...
- js_判断当前页面是否有网络和网络连接超时
2018-04-12 方法一:通过navigator.onLine属性判断,返回true为有联网状态,false为断网状态. //方法一 if(navigator.onLine) { console. ...
- 设计模式之Prototype
设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 介绍: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 为什么要用Prototype ...
- Name Disambiguation in AMiner-Clustering, Maintenance, and Human in the Loop
Name Disambiguation in AMiner: Clustering, Maintenance, and Human in the Loop paper:http://keg.cs.ts ...
- django “如何”系列3:如何编写模型域(model filed)
django自带很多的域类--CharField,DateField等等--,如果django的这些域都不能满足你精确的要求,那么你可以编写自己的模型域. django自带的域没有和数据库列类型一一对 ...
- linux命令(41):watch命令
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...
- LeetCode解题报告—— Permutations & Permutations II & Rotate Image
1. Permutations Given a collection of distinct numbers, return all possible permutations. For exampl ...