清明 DAY 3




ans=1000*4
分别固定千位,百位,十位,个位为1,其余位置随便排



对于每一个质因数的n次方,共有n+1中选择方法,即这个质因数的0~n次方
故共有 4*3*5=60 种方法


(1)取两册文字不同的书的方案=取日文英文+取日文中文+取英文中文
5*7+5*10+7*10
(2)相同的:取日文日文,取中文中文,取英文英文
5*4/2+7*6/2+10*9/2
(3) (1)+(2)

PS:高中课本上写的是 A(然鹅这并不对) 而不是 P


考虑两面旗帜的方法和三盆花的方法,根据乘法原理乘起来即可
ans=P(5,2)*P(20,3)


先考虑对七名男生排序,然后在六个间隔中插入三名女生
ans=P(7,7)*P(6,3)



ans = 7*8*(4+5+4+5+4) = P(8,2)*22


正难则反
总的方案数减去选上男A和女B的方案数
ans=C(12,5)-C(10,3)


按余数分类:余数相同和余数不同
余数相同分为:(0,0,0),(1,1,1).(2,2,2);
1~300这些数中,余数相同的各有100个
故每一种可能的方式均为C(100,3)
余数不同时,每一个数都是从不同的余数中选一个,故方式为C(100,1)3
ans=3*C(100,3)+C(100,1)3


由于每种颜色的旗帜是相同的,所以讲相同颜色的旗帜放一起,只能算是一种方式
这个时候我们需要用组合数
ans=C(16,4)*C(12,4)*C(8,4)*C(4,4)


- 有n个不同元素,从中选r个,但是每个可以选多次,则其方案数为C(n+r-1,r)
证:设选的数为a1,a2,....,ar,(由小到大),则1≤a1≤a2≤a3......≤ar≤n
我们可以通过一种变换,就是让ai+i-1,这样可以去掉=
有:1≤a1<a2+1<a3+2<.....<ar+r-1<n-r+1
中间还是有r个数,我们可以设bi=ai+i-1
则1≤b1<b2<b3<....<br≤n-r+1
所以问题就开始转换为无重复组合问题,即在n+r-1 个元素中选中 r个的组合数 。
(简而言之就是每一个数字都可以在 n 个当中选,也可以在 r-1 个当中选)
- 有n个不同元素,从中选r个,但是选中的元素大小不能相邻,则其方案数为C(n-r+1,r)
证:设选的数为a1,a2,....,ar,(由小到大),则1<a1<a2<a3<......<ar<n
其中a1+1<a2,a2+1<a3....
将每个ai-i+1
有a1<a2-1<a3-2<...<ar-r+1
其他的一些性质
- Cnn+m = Cmn+m
- C mn = C m-1n-1+C mn-1
//组合数 递推式 第一个东西选C(n-1,m-1)或者不选C(n-1,m)
- C rn+r+1 = C rn+r + C r-1n+r-1 + C r-2n+r-2 +....+C0n
//运用第二行不断拆
- C ln C rl = C rn C l-rn-r
//打标机,打两次
- C0n +C1n +.....+Cnn =2n
//从n 个东西里选任意东西的方案数(左式),每个数都可以选或不选(右式)
- C0n - C1n +C2n - ... = 0
//选奇数个方案数=选偶数个方案数
奇数方案数 >= 偶数方案数 偶数方案数 >= 奇数方案数
奇数方案数第一个东西不选,那就变为选偶数个的方案数
杨辉三角里奇数列的和=偶数列的和
- C rr + Crr+1 +...+ C rn =Cr+1n+1

先来看一道题

如图,一个n*m的方格中,从原点开始,每次只能向上走或者向右走,求走到点(n,m)共有多少种走法

( 斜着看 你发现了一个杨辉三角 )
一般做法:
一个一个写,每一个节点的种数=它左边的数量+右边的数量
组合数: ans=C(n+m,n)
原因:一共要走n+m步,从中选出n步向右走的,即为答案(C(n+m,m) 一样)



一个不合法方案一定经过(1,0),(n,m)
不合法的方案经过(1,0),那么他一定会和y=x相交
每个非法方案都对应一个从(1,0)到(n,m)方案
so, ans = Cnn+m – Cn-1n-m-1



任意一个数都可拆成k个1
也就是k-1个1和一个x-k+1


(底数大于1)

维护n!前缀和 ,比较log
O(n)复杂度


Problem2+加上一个堆
Luogu 4370







结合转移矩阵



数位dp
Bzoj 4737
题解一
P2822 组合数问题
题解二
Lucas定理
P为素数,则有


Just like this:

注:这里是将n,m转化为p进制
因为C(n,m)是p的倍数,而C(ni,mi)中并不含有p,所以某一位有ni<mi使得它=0











(这题走错地了吧 直接算就行)

随便送:P(6,6)
不合法:C(6,1) * P(5,5)









总结一下就是:













然后二者结合
特别鸣谢:ych
清明 DAY 3的更多相关文章
- 清明梦超能力者黄YY(idx数组)
清明梦超能力者黄YY https://www.nowcoder.com/acm/contest/206/I 题目描述 黄YY是一个清明梦超能力者,同时也是一个记忆大师.他能够轻松控制自己在梦中的一切, ...
- 清明|TcaplusDB持续为您保驾护航
清明将至,又到一年休闲踏青,祭拜祖先的时机. 清明假期期间,TcaplusDB不停歇,我们将一如既往地守护您的数据,继续做您最坚实的后盾. 在未来,TcaplusDB还将以国产键值型数据库领航者的身 ...
- 清明培训 清北学堂 DAY2
今天是钟皓曦老师的讲授~~ 总结了一下今天的内容: 数论!!! 1.整除性 2.质数 定义: 性质: 3.整数分解定理——算数基本定理 证明: 存在性: 设N是最小不满足唯一分解定理的整数 (1) ...
- 清明培训 清北学堂 DAY1
今天是李昊老师的讲授~~ 总结了一下今天的内容: 1.高精度算法 (1) 高精度加法 思路:模拟竖式运算 注意:进位 优化:压位 程序代码: #include<iostream>#in ...
- 2019清明期间qbxt培训qaq
4.4下午:矩阵qwq part1矩阵乘法: 概念: 一个m×p的矩阵A 乘 一个p×n的矩阵B 得到一个矩阵一个m×n的矩阵AB 其中: 矩阵乘法满足结合律.分配率,不满足交换律 矩阵乘法—solu ...
- 2019清明期间qbxt培训qwq
4.4上午:数学基础 (qwq整成word和cpp了,它居然不能直接把文档附上来) part 1:高精度运算 高精加和高精减就不说了,之前写过博客了qwq,讲一讲高精乘和高精除吧. 1.高精度乘法(不 ...
- 清明 DAY 1
数学基础 Part 1. 高精度计算 Part 2. 模意义下的运算 mod 对一个数取模,其实就是取余数 注意: • 无除法运算 • ...
- 清明 DAY2
数论 数论是研究整数性质的东西 也就是 lim π(x)=x/ ln x (x->无穷) 证明: ∵ p|ab ∴ ab有因子p 设 a=p1k1p2k2......prkr b= ...
- 一个讲课截屏 清明DAY2
灰常混乱 放弃吧........ 不断做平方差公式 到i时,前面已经求出之前数字的逆元了 r是一个比i小的数 第四行×i,r 的逆元 BSGS 暴力枚举枚举到Φ(m)个
- 清明小长假之VUE.JS学习测试码
我们放了四天假,刚好借此机会,系统的了解一下VUE.JS. <!DOCTYPE html> <html> <head> <meta charset=" ...
随机推荐
- v-bind:value="diy" 添加到 <input type="button" /> 中可以,添加到<button />中不可以,diy是data中的数据
v-bind:value="diy" 添加到 <input type="button" /> 中可以, 添加到<button />中不可 ...
- Centos7.0 三种网络适配器
VMnet0:桥接模式 VMnet1:主机模式 VMnet8:NAT模式 VMware Network Adepter VMnet1:宿主Host用于与 主机模式 虚拟网络进行通信的虚拟网卡 VMwa ...
- linux上搭建单机版hadoop和spark
依赖的安装包 首先hadoop和spark肯定是必须的,而hadoop是用java编写的,spark是由Scala编写的,所以还需要安装jdk和scala. 大数据第三方组件我们统统都安装在/opt目 ...
- oracle删除临时表空间一直处于等待状态
现象: 新建一个临时表空间mytemp 然后将其改为默认临时表空间后,执行一条带order by的查询语句,查询出结构后, 修改默认临时表空间为原来的temp,然后执行 drop tablespace ...
- 宝塔linux面板命令大全 - 宝塔面板
安装宝塔 Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/inst ...
- linux下使用 TC 对服务器进行流量控制
tc 介绍 在linux中,tc 有二种控制方法 CBQ 和 HTB.HTB 是设计用来替换 CBQ 的.HTB比CBQ更加灵活,但是CPU 开销也更大,通常高速的链路会使用CBQ,一般而言HTB使用 ...
- Ruby笔记
1.数组遍历方法总结 array = (1..10).to_a length = array.length length.times do t print "#{array[t]} &quo ...
- IPC 进程间通信方式——消息队列
消息队列 消息队列是内核中的一个链表 用户进程将数据传输到内核后,内核重新添加一些如用户ID.组ID.读写进程的ID和优先级等相关信息后并打包成一个数据包称为消息 允许一个或多个进程往消息队列中读写消 ...
- TextEdit不能空验证设置
在工具箱中找到dxValidationProvider控件拖拉到界面上,添加代码 ConditionValidationRule notEmptyValidationRule = new Condit ...
- LVS 学习
参考网站:http://www.linuxvirtualserver.org 一,部分概念 服务器集群系统: 通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的.高可用网络服务的有效结构,这种 ...