组合数学
文章平均质量分 83
DoIdo~
这个作者很懒,什么都没留下…
展开
-
牛客——子序列(组合数学)
子序列题目描述给定一个小写字母字符串TTT求有多少长度为mmm的小写字母字符串SSS满足,TTT是SSS的一个子序列(不需要连续)输入描述:第一行一个字符串TTT第二行一个正整数mmm输出描述:输出答案对109+710^9+7109+7取模的值示例1输入aaa2输出51说明长度为2的里面有aaa的串有51种备注:1<=∣T∣,m<=1051<=|T|,m<=10^51<=∣T∣,m<=105解决思路:原创 2021-03-09 15:25:32 · 386 阅读 · 0 评论 -
牛客——数字权重(组合数学)
数字权重题目描述小a有一个n位的数字,但是它忘了各个位上的数是什么,现在请你来确定各个位上的数字,满足以下条件:设第iii位的数为aia_iai,其中a1a_1a1为最高位,ana_nan为最低位,KKK为给定的数字1.不含前导02.(∑i=2n(ai−ai−1))=K( \sum_{i = 2}^n (a_i- a_{i - 1})) = K(∑i=2n(ai−ai−1))=K请你求出满足条件的方案数输入描述:两个整数NNN,KKK若存在无解的情况,请输出0输出描原创 2021-03-06 17:37:39 · 552 阅读 · 0 评论 -
牛客——Diff-prime Pairs(数论,组合数学)
Diff-prime Pairs题目描述Eddy has solved lots of problem involving calculating the number of coprime pairs within some range. This problem can be solved with inclusion-exclusion method. Eddy has implemented it lots of times. Someday, when he encounters anot原创 2021-02-24 13:12:15 · 231 阅读 · 3 评论 -
牛客——小w的禁忌与小G的长诗(容斥原理)
小w的禁忌与小G的长诗题目描述自从上次小w被奶牛踹了之后,就一直对此耿耿于怀。于是"cow"成为了小w的禁忌,而长得和"cow"很像的"owc"…凡是同时含有"c",“w”,"o"的都进入了他的禁忌名单。小G想给他送一幅幅长为n个字符的长诗,但是又怕触犯他的禁忌。所以他决定要是诗中出现了他的禁忌就宁可不送,可是…他一写起诗来就忘了一切。小G想知道他有多少种的诗可能不触犯他的禁忌注:小G只会用小写字母写诗输入描述:一行一个整数n表示诗的长度输出描述:一行一个整数表示小G有多少种原创 2021-02-15 21:22:25 · 1240 阅读 · 6 评论 -
开心的涂鸦(容斥)
链接:https://ac.nowcoder.com/acm/problem/14718来源:牛客网题目描述有m种颜色和n个格子,需要计算两个相邻格子相同颜色的方案数题解首先发现直接求的话不好算,所以考虑容斥总的方案数:mnm^nmn考虑第一个位置有mmm种放法,第二个位置为了保持相邻格子颜色不同,只有m−1m-1m−1种放法,以此类推第nnn个位置也只有m−1m-1m−1种放法任意相邻的格子颜色不同的方案数:m×(m−1)(n−1)m\times(m-1)^{(n-1)}m×(m−1)(n原创 2020-11-23 18:05:01 · 105 阅读 · 0 评论 -
子序列(组合数学)
链接:https://www.nowcoder.com/acm/contest/181/F来源:牛客网题目描述#include<iostream>#include<algorithm>using namespace std;#define mod 1000000007typedef long long ll;const int N = 1e3 + 10;ll u[N];ll c[N][N];ll qpow(ll a, ll b, ll p) { ll原创 2020-11-22 21:18:06 · 1327 阅读 · 0 评论 -
模板——exLucas(大组合数取模)
```cpp#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const int N = 20;ll B[N], u[N];inline ll qmul(ll a, ll b, ll p) { ll res = 0; a %= p; b %= p; while (b) { if (b & 1LL) { res = (res + a) %原创 2020-09-11 16:24:17 · 125 阅读 · 0 评论 -
集合中的质数(容斥原理和dfs)
注释:当然这道题也可以二进制枚举,只是不用0\small 00这个二进制。题面题意:见题面。解决思路:容斥原理:总结:容斥原理就是奇加偶减。有了公式就直接dfs\small dfsdfs求解就可。为了方便dfs\small dfsdfs,先将输入的数组排序,这样就可以实现神剪枝操作。从左往右遍历每个数,对于这个数来说,可以被取,也可以不取。不取:除了遍历的位置加一,其余不变。取:遍历的位置加一,由容斥原理的奇加偶减的性质可以得到,多取一个数,它肯定变号,所以opt\small op..原创 2020-06-02 21:41:11 · 436 阅读 · 0 评论 -
小a的旅行计划(组合数学与逆元)
注释:题面题意:见题面。解决思路:由题意不难看出集合A,B\small A,BA,B的个数都不能为1\small 11(1\small (1(1的时候肯定相互包含)\small ))AC代码//优化#pragma GCC optimize(2)//C#include<string.h>#include<stdio.h>#include<stdlib.h>#include<math.h>//C++#include<unord..原创 2020-05-24 14:24:52 · 269 阅读 · 0 评论 -
序列求和(gcd与逆元)
注释:Cii+Ci+1i+...+Cni=Cn+1i+1\small C_i^i+C_{i+1}^i+...+C_n^i=C_{n+1}^{i+1}Cii+Ci+1i+...+Cni=Cn+1i+1题面题意:见题面。解决思路:结论:12+22+32+...+n2=n(n+1)(2n+1)6\small 1^2+2^2+3^2+...+n^2=\frac{n(n+1)(2n+1)}{6}12+22+32+...+n2=6n(n+1)(2n+1)证明∵i2=i2+i−i=i(i−1)+i..原创 2020-05-24 00:25:06 · 344 阅读 · 0 评论 -
模板——Lucas(大组合数取模)
#include<iostream>using namespace std;typedef long long ll;const int maxn = 1e6 + 7;ll n, m, p;ll fac[maxn];void init_fac() { //阶乘打表 fac[0] = 1; for (ll i = 1; i <= p; i++) { f...原创 2020-05-22 14:44:48 · 228 阅读 · 0 评论