组合数学
accepted_accepted
当你迷茫的时候,不妨静下心来学习。
展开
-
组合数问题
【问题描述】 组合数表示的是从n个物品中选出m个物品的方案数。举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法。根据组合数的定义,我们可以给出计算组合数的一般公式:其中n! = 1 × 2 × … × n。小葱想知道如果给定n,m和k,对于所有的0 <= i <= n,0 <= j <= min(i,m)有多少...原创 2019-04-25 20:48:46 · 705 阅读 · 0 评论 -
排列组合数学 子序列
题目描述给定一个小写字母字符串T求有多少长度为m的小写字母字符串S满足,T是S的一个子序列(不需要连续)输入描述:第一行一个字符串T第二行一个正整数m输出描述:输出答案对109+7取模的值示例1输入a2输出51说明长度为2的里面有a的串有51种备注:1<=|T|,m<=105枚举终点,前面的除了已经确定的 每个有25种选法,后面的每个有26种选法,前...原创 2019-05-04 10:47:07 · 481 阅读 · 0 评论 -
UVA-11538 组合数学 (加法原理)
https://vjudge.net/problem/UVA-11538题解:对于行列的总和很容易算出来就是 nm(n+m-2)对于对角线 ,我们可以枚举对角线的长度,对角线长度为1时,我们的方案数为4*(2乘2的矩阵数)长度为2时,我们的方案数为4*(3乘3的矩阵数),以此类推。代码:#include <iostream>#include <cstdio>...原创 2019-09-12 14:51:34 · 198 阅读 · 0 评论 -
UVA - 11806 组合数学(容斥原理)
https://vjudge.net/problem/UVA-11806题意:给一个n*m的场地,让你把k个人安排在上面,要求四个边缘都必须至少有一人,顶点算俩个边缘都有人。题解 容斥一下就好。代码:#include<iostream>#include<cstdio> using namespace std;const int mod=1000007;int...原创 2019-09-12 15:02:09 · 195 阅读 · 0 评论 -
UVA - 11401 组合数学(等差数列)
https://vjudge.net/problem/UVA-11401题意:从1到n中选出三个数使得它们能组成一个三角形的方案数。题解。枚举三角形最大的那条边,然后通过观察你会发现当你枚举第二大的边时,会形成一个等差数列,首项为 i-3,公差为2,所以就枚举三角形的最大的边就行了代码:#include<iostream>#include<algorithm>...原创 2019-09-12 15:11:13 · 184 阅读 · 0 评论