组合数学
Spidy_harker
这个作者很懒,什么都没留下…
展开
-
组合数学总结
问题 E: 【排列组合问题】Jam的计数法题目描述囚犯之间的秘密交流使用一种被称为Jam的计数法,这种计数法不使用阿拉伯数字计数,而是使用小写英文字母计数,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。在 Jam数字中,每个字母互不相同,而且从左到右是严格递增的。每次,Jam计数法还指定使用字母的范围,例如,从2到10,表示只能使用{...原创 2020-03-05 17:48:44 · 263 阅读 · 0 评论 -
质数和分解问题
问题 Q: 【组合数学】质数分解问题题目描述任何大于1的自然数n都可以写成若干个大于等于2且小于等于n的质数之和的表达式(包括只有一个数构成的质数之和的表达式的情况),并且可能有不止一种质数和的形式。例如9的质数和表达式就有4种本质上不同的形式:9=2+5+2=2+3+2+2=3+3+3=2+7这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各个数的位置而直接得到另...原创 2019-11-15 21:47:40 · 1332 阅读 · 1 评论 -
洛谷P2822(利用前缀和优化查询)
题目题解本题主要知识点如下:1.组合数的递推公式:c(m,n)=c(m-1,n-1)+c(m-1,n)2.用前缀和优化查询:将复杂度从O(n)降到O(1)前缀和:1)一维数组的前缀和:sum[i]=a[0]+…+a[i];2)二维数组的前缀和;sum[i][j]为左上角(0,0)到右下角(i,j)矩形中的所有a[ ][ ]的和那么前缀和sum[i][j]就等于蓝的矩阵sum[i-...原创 2019-05-19 22:19:35 · 261 阅读 · 0 评论 -
P1706 全排列
题目题解:dfs,并且将每一层的数字都用一个数组path[ ]储存起来即可上代码:#include <iostream>#include <cstdio>using namespace std;int visit[10]={false};int path[10];int k;void print(int index){ if(index==k+1...原创 2019-05-20 21:39:48 · 324 阅读 · 0 评论 -
P3414组合数
题目二项式定理带入x=y=1,x=1,y=-1,然后进行加减运算,即可得到下式使用快速幂即可求解代码:#include <iostream>using namespace std;typedef long long ll;const int mod=6662333;long long qmod(long long a,long long b){ ll ...原创 2019-05-18 16:15:35 · 111 阅读 · 0 评论 -
问题 D: 记一次惨痛的教训(组合数的计算)
题目描述传说中很多大牛喜欢用自己姓名拼音的重排列,比如著名的吕凯风大牛,他的姓名拼音是lvkaifeng,重新排列之后就得到了VFleaKing,也就是著名的伏特跳蚤国王。现在,火星人觉得VFleaKing太强啦!于是他们也要这样取他们的ID名,现在问题来了,他们的名字都非常长,而且都是由火星文组成的(火星文有好多好多字符)。火星人想请你帮他们算算如果把他们的名字重排有几种方案,当然了,原序列也...原创 2019-07-28 23:27:15 · 340 阅读 · 0 评论 -
问题 I: 递归/非递归实现组合型枚举
题目#include <iostream>#include <cstdio>#include <vector>using namespace std;int n,m;vector<int>temp,ans;void slove(int index,int len){ if(index>n+1) return; ...原创 2019-08-17 20:52:23 · 262 阅读 · 0 评论