
组合数学
幽殇默
他时若遂凌云志,敢笑黄巢不丈夫。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1290. 越狱
https://www.acwing.com/problem/content/1292/ #include<bits/stdc++.h> using namespace std; typedef long long int LL; const int mod=100003; LL quick_mi(LL a,LL b,LL p) { LL sum=1; while(b) { if(b&1) sum=sum*a%p; b>&.原创 2021-10-15 08:33:15 · 186 阅读 · 0 评论 -
10. 计算第 K 个排列【组合数学】
https://www.papamelon.com/problem/10 #include<bits/stdc++.h> using namespace std; typedef long long int LL; LL f[25]; void init() { f[0]=1; for(int i=1;i<=20;i++) f[i]=f[i-1]*i; } void solve() { LL n,k; cin>>n>>k; vector<int>.原创 2021-09-27 15:34:43 · 128 阅读 · 0 评论 -
11. 计算排列的编号【组合数学】
https://www.papamelon.com/problem/11 首先想一下如何获得编号呢? 暴力一定是不可以,所以我们一定要思考一下一个时间复杂度小的算法。 这个排列的编号==它前面的所有的排列数+1 例: 3 2 1 先看第一位是3,比它小的,且目前还没用的数字的有2个分别是 1 2. 那么以 1开头的 2开头的都是它前面的排列 后面还剩余俩数随便的排。 即 22! 接着 3 2 比2小的,且目前还没用的数字的有1个是1. 故 前面的排列是 11! 。。。。。以此类推 .原创 2021-09-27 15:03:21 · 628 阅读 · 0 评论 -
131. 合并两个序列 III【组合数学】
https://www.papamelon.com/problem/131 多重集排列组合。 #include<bits/stdc++.h> using namespace std; typedef long long int LL; const int mod=1e9+7; const int N=1e5*2+10; LL f[N],inf[N]; LL quick_mi(LL a,LL b,LL p) { LL sum=1; while(b) { if(b&1) sum.原创 2021-09-26 22:38:08 · 107 阅读 · 0 评论 -
130. 合并两个序列 II【组合数学】
https://www.papamelon.com/problem/130 多重集排列组合,数据范围很大故先预处理。 #include<bits/stdc++.h> using namespace std; typedef long long int LL; const int mod=1e9+7; const int N=1e3*2+10; LL f[N],inf[N]; LL quick_mi(LL a,LL b,LL p) { LL sum=1; while(b) { if(.原创 2021-09-26 22:33:55 · 133 阅读 · 0 评论 -
129. 合并两个序列【组合数学 / 经典板子题】
https://www.papamelon.com/problem/129 我们把序列A看成红球,把B看成蓝球。 合并后的球的总数就是A+B 例: A:1 2 3 其实就是三个一模一样的红球。 因为如果不是一模一样的,那么 [1,2,3],[3,2,1]…都是不同的排列。但是题目给的是相对顺序不能变。故只有一种。 故它们是一模一样的。 故问题就转化成了多重集的排列组合。 #include<bits/stdc++.h> using namespace std; int main(void).原创 2021-09-26 22:30:02 · 269 阅读 · 0 评论