数论基础之组合数&计数问题
一.组合数:
问题引入:现在有 n 个球,取其中的 k 个球,问一共有多少
种方式?
答案:
公式直观解释:
我们考虑有顺序地取出 k 个球:第一次有 n 种选择,第二次有 n-1 种
选择,...,第 k 次有 n-k+1 种选择。故一共有
种方案数;但如果不计算顺序的话,那么对于一种方案,其实有 k! 种
不同的顺序,所以再除以 k! 即为最终的答案。
实际编程所需要的公式:C(n,k) = C(n − 1,k) + C(n − 1,k − 1)
题目:
luogu 2822 组合数问题(边计算边模)
luogu 1313 计算系数(答案为:a n × b m × C(k,n))
二.计数问题:
(1). 把 n 个数拆成 k 个非负整数,有多少种方案数?C(n,k)
(2). 把 n 个数拆成 k 个正整数,有多少种方案数?C(n,n-k+1)
1.放球问题:
1. 把 N 个不同的球放在 K 个不同箱子-----n^k
2. N 个相同的球放在 k 个不同的箱子-----C(n,n-k)
3. N 个不同的球放在 k 个相同的箱子
4. N 个相同的球放在 k 个相同的箱子
2.路径行走:
一个 N*M 的网格,每次只能向上或者向右,从左下角到右上角有
多少种方案数
C(n + m − 2,n − 1)
按照字典序的顺序从小写字母 a 开始按顺序给出序列 (序列中都为升序字符串,挑出长度位 L 的字符串有多少个?
练习:
(1)Codevs 1262 不要把球传我
(2)HDU 5698 瞬间移动
(3)HDU 1465
{
错排公式:设 F[i] 为每个数都不在自己的位置上的排列数。
* 则有公式 F[i] = (n-1) (F[i-1] + F[i-2])
假设在第 1 个位置上的是 k(k ̸= 1),则有两种情况:
1 在 k 的位置上的是 1。则这时候只需要要求其他的 n-2 个数不在
位置上即可。
2 在 k 的位置上不是 1。把 1 看作 k,相当于 n-1 个数都不在自己的
位置上。
}
(4)HDU 4704 Sum
{
}
数论基础之组合数&计数问题的更多相关文章
- 你也可以手绘二维码(二)纠错码字算法:数论基础及伽罗瓦域GF(2^8)
摘要:本文讲解二维码纠错码字生成使用到的数学数论基础知识,伽罗瓦域(Galois Field)GF(2^8),这是手绘二维码填格子理论基础,不想深究可以直接跳过.同时数论基础也是 Hash 算法,RS ...
- 「kuangbin带你飞」专题十四 数论基础
layout: post title: 「kuangbin带你飞」专题十四 数论基础 author: "luowentaoaa" catalog: true tags: mathj ...
- 数论篇7——组合数 & 卢卡斯定理(Lucas)
组合数 组合数就是高中排列组合的知识,求解组合数C(n,m),即从n个相同物品中取出m个的方案数. 求解方式 求解通式:$C^{m}_{n}=\dfrac {n!}{m!\left( n-m\righ ...
- acm数论之旅--组合数(转载)
随笔 - 20 文章 - 0 评论 - 73 ACM数论之旅8---组合数(组合大法好(,,• ₃ •,,) ) 补充:全错排公式:https://blog.csdn.net/Carey_Lu/ ...
- lightoj1336数论基础
#include<iostream> #include<cstdio> #include<cmath> #define ll long long using nam ...
- 数论基础算法总结(python版)
/* Author: wsnpyo Update Date: 2014-11-16 Algorithm: 快速幂/Fermat, Solovay_Stassen, Miller-Rabin素性检验/E ...
- 从BZOJ2242看数论基础算法:快速幂,gcd,exgcd,BSGS
LINK 其实就是三个板子 1.快速幂 快速幂,通过把指数转化成二进制位来优化幂运算,基础知识 2.gcd和exgcd gcd就是所谓的辗转相除法,在这里用取模的形式体现出来 \(gcd(a,b)\) ...
- 【数论】【组合数】【快速幂】【乘法逆元】洛谷 P2265 路边的水沟
从左上角到右下角,共经过n+m个节点,从其中选择n各节点向右(或者m各节点向下),所以答案就是C(n+m,n)或者C(n+m,m),组合数暴力算即可,但是要取模,所以用了乘法逆元. #include& ...
- 1370 - Bi-shoe and Phi-shoe(LightOJ1370)(数论基础,欧拉函数)
http://lightoj.com/volume_showproblem.php?problem=1370 欧拉函数: 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. φ(n) ...
随机推荐
- 洛谷 - P2293 - 高精度开根 - 高精度
https://www.luogu.org/problemnew/show/P2293 要求求出给定高精度整数的非负根取整的结果. 还有神仙用Python的浮点pow运算骗到不少分的. 唉! 那么我们 ...
- PhpStorm之服务器篇
打开编辑器,依次点击 Tools->Deloyment->Configuration,进入连接服务器的配置页面 2.点击左上角的 + ,配置一个新的服务器 3.填写添加之后服务器的名称,并 ...
- poj1651【区间DP·基础】
题意: 给你一串数字,头尾不能动,每次取出一个数字,这个数字贡献=该数字与左右相邻数字的乘积,求一个最小值. 思路: 用dp[s][t]去代表s到t的最小值,包括a[s]和a[t],然后从区间为3开始 ...
- H5+JS实现手机摇一摇功能
在做微信活动页面的时候,经常会需要实现手机摇一摇功能,比如“摇一摇,拿好礼”. 为了实现它,就需要用到HTML5的DeviceOrientation特性.它提供的DeviceMotion事件封装了设备 ...
- childNodes和Children的区别
1.childNodes: 标准的,返回指定元素的子元素集合,包括HTML属性,所有属性,文本.可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点 ...
- pika消息中间件模块
参考: http://www.rabbitmq.com/tutorials/tutorial-one-python.html http://www.rabbitmq.com/tutorials/tut ...
- Asp.net WebApi 异常处理解决方案
一.使用异常筛选器捕获所有异常 我们知道,一般情况下,WebApi作为服务使用,每次客户端发送http请求到我们的WebApi服务里面,服务端得到结果输出response到客户端.这个过程中,一旦服务 ...
- The 17th Zhejiang University Programming Contest Sponsored by TuSimple J
Knuth-Morris-Pratt Algorithm Time Limit: 1 Second Memory Limit: 65536 KB In computer science, t ...
- Ilya And The Tree CodeForces - 842C
((半个)智商题,主要难度在于实现) 题意:有一棵n个结点组成的树,其根是编号为1的结点.对于每一个结点,生成从根结点走到这个结点的路径(包括自身),选择路径上的一个点或者不选择任何点,使得其它点的最 ...
- DFS水题 URAL 1152 False Mirrors
题目传送门 /* 题意:一个圈,每个点有怪兽,每一次射击能消灭它左右和自己,剩余的每只怪兽攻击 搜索水题:sum记录剩余的攻击总和,tot记录承受的伤害,当伤害超过ans时,结束,算是剪枝吧 回溯写挫 ...