排列组合十一个性质公式及证明,错排数公式及证明

文章目录

  • 排列数
  • 组合数
  • 求组合数常用公式
    • 定义式
    • 递推式
    • 杨辉三角
  • 组合数常用性质及证明
    • 性质一
    • 性质二
    • 性质三
    • 性质四(二项式定理)
    • 性质五
    • 性质六
    • 性质七
    • 性质八
    • 性质九
    • 性质十
    • 性质十一
  • 错排数

排列数

从nnn个物品中不放回地依次选mmm个物品,考虑顺序,有多少种方案,记作AnmA_n^mAnm​
Anm=n!(n−m)!A_n^m=\frac{n!}{(n-m)!}Anm​=(n−m)!n!​


组合数

从nnn个物品中不放回地依次选mmm个物品,不考虑顺序,有多少种方案,记作CnmC_n^mCnm​
Cnm=n!m!∗(n−m)!C_n^m=\frac{n!}{m!*(n-m)!}Cnm​=m!∗(n−m)!n!​


求组合数常用公式

定义式

Cnm=n!m!∗(n−m)!C_n^m=\frac{n!}{m!*(n-m)!}Cnm​=m!∗(n−m)!n!​
当n,mn,mn,m很大时,预处理阶乘和逆元,预处理O(n)O(n)O(n),求组合数O(1)O(1)O(1)


递推式

Cnm=n!m!∗(n−m)!=n!(m−1)!∗(n−m+1)!∗n−m+1m=Cnm−1∗n−m+1mC_n^m=\frac{n!}{m!*(n-m)!}=\frac{n!}{(m-1)!*(n-m+1)!}*\frac{n-m+1}{m}=C_n^{m-1}*\frac{n-m+1}{m}Cnm​=m!∗(n−m)!n!​=(m−1)!∗(n−m+1)!n!​∗mn−m+1​=Cnm−1​∗mn−m+1​


杨辉三角

Cnm=n!m!∗(n−m)!=(n−1)!∗(n−m+m)m!∗(n−m)!C_n^m=\frac{n!}{m!*(n-m)!}=\frac{(n-1)!*(n-m+m)}{m!*(n-m)!}Cnm​=m!∗(n−m)!n!​=m!∗(n−m)!(n−1)!∗(n−m+m)​
=(n−1)!∗(n−m)m!∗(n−m)!+(n−1)!∗mm!∗(n−m)!=\frac{(n-1)!*(n-m)}{m!*(n-m)!}+\frac{(n-1)!*m}{m!*(n-m)!}=m!∗(n−m)!(n−1)!∗(n−m)​+m!∗(n−m)!(n−1)!∗m​
=(n−1)!m!∗(n−m−1)!+(n−1)!(m−1)!∗(n−m)!=\frac{(n-1)!}{m!*(n-m-1)!}+\frac{(n-1)!}{(m-1)!*(n-m)!}=m!∗(n−m−1)!(n−1)!​+(m−1)!∗(n−m)!(n−1)!​
=Cn−1m+Cn−1m−1=C_{n-1}^m+C_{n-1}^{m-1}=Cn−1m​+Cn−1m−1​
当模数不是质数的时候,预处理O(n2)O(n^2)O(n2),求组合数O(1)O(1)O(1)


组合数常用性质及证明

性质一

Cnm=Cnn−mC_n^m=C_n^{n-m}Cnm​=Cnn−m​

证明:
法一:利用组合数意义理解
在nnn个当中选mmm个,相当于在nnn个当中不选n−mn-mn−m个
法二:公式表示
Cnm=n!m!∗(n−m)!C_n^m=\frac{n!}{m!*(n-m)!}Cnm​=m!∗(n−m)!n!​
Cnn−m=n!(n−m)!∗(n−(n−m))!=n!m!∗(n−m)!C_n^{n-m}=\frac{n!}{(n-m)!*(n-(n-m))!}=\frac{n!}{m!*(n-m)!}Cnn−m​=(n−m)!∗(n−(n−m))!n!​=m!∗(n−m)!n!​


性质二

Cn+m+1m=∑i=0mCn+iiC_{n+m+1}^m=\sum_{i=0}^mC_{n+i}^iCn+m+1m​=i=0∑m​Cn+ii​

证明:
利用画图以及杨辉三角得证
在这里插入图片描述


性质三

Cnm∗Cmr=Cnr∗Cn−rm−rC_n^m*C_m^r=C_n^r*C_{n-r}^{m-r}Cnm​∗Cmr​=Cnr​∗Cn−rm−r​

证明:
法一:利用组合数意义理解
在nnn个当中选mmm个,再在选出的mmm个当中选rrr个
相当于在nnn个当中选rrr个,再在剩下的n−rn-rn−r个中选还需要的m−rm-rm−r

法二:公式推导
Cnm∗Cmr=n!m!∗(n−m)!∗m!r!∗(m−r)!=n!∗m!m!∗r!∗(n−m)!∗(m−r)!C_n^m*C_m^r=\frac{n!}{m!*(n-m)!}*\frac{m!}{r!*(m-r)!}=\frac{n!*m!}{m!*r!*(n-m)!*(m-r)!}Cnm​∗Cmr​=m!∗(n−m)!n!​∗r!∗(m−r)!m!​=m!∗r!∗(n−m)!∗(m−r)!n!∗m!​=n!r!∗(n−m)!∗(m−r)!=n!∗(n−r)!r!∗(n−m)!∗(m−r)!∗(n−r)!=\frac{n!}{r!*(n-m)!*(m-r)!}=\frac{n!*(n-r)!}{r!*(n-m)!*(m-r)!*(n-r)!}=r!∗(n−m)!∗(m−r)!n!​=r!∗(n−m)!∗(m−r)!∗(n−r)!n!∗(n−r)!​=n!r!∗(n−r)!∗(n−r)!(m−r!)∗(n−m)!{(n−r)−(m−r)=n−m}=\frac{n!}{r!*(n-r)!}*\frac{(n-r)!}{(m-r!)*(n-m)!}\ \ \ \ \ \{(n-r)-(m-r)=n-m\}=r!∗(n−r)!n!​∗(m−r!)∗(n−m)!(n−r)!​     {(n−r)−(m−r)=n−m}=Cnr∗Cn−rm−r=C_n^r*C_{n-r}^{m-r}=Cnr​∗Cn−rm−r​


性质四(二项式定理)

∑i=0n{Cni∗xi}=(1+x)n\sum_{i=0}^n\{C_n^i*x^i\}=(1+x)^ni=0∑n​{Cni​∗xi}=(1+x)n
∑i=0nCni=2n(x=1)\sum_{i=0}^nC_n^i=2^n\ \ \ (x=1)i=0∑n​Cni​=2n   (x=1)

证明:
组合数意义理解
在这里插入图片描述

(1+x)n=(1+x)∗(1+x)∗...∗(1+x)(1+x)^n=(1+x)*(1+x)*...*(1+x)(1+x)n=(1+x)∗(1+x)∗...∗(1+x),nnn个(1+x)(1+x)(1+x)相乘
(1+x)(1+x)(1+x)在乘法中的贡献相当于要么选111,要么选xxx
有iii个(1+x)(1+x)(1+x)中选xxx,产生的贡献就是xix^ixi,剩下的n−in-in−i个(1+x)(1+x)(1+x),产生的贡献是111
在nnn个中任意选iii个,相当于CniC_n^iCni​


性质五

∑i=0n{(−1)i∗Cni}=0\sum_{i=0}^n\{(-1)^i*C_n^i\}=0i=0∑n​{(−1)i∗Cni​}=0

证明:
①:若nnn为奇数
则∑i=0n\sum_{i=0}^n∑i=0n​共有n+1n+1n+1项(偶数项),而(−1)i∗Cni=(−1)i∗Cnn−i(-1)^i*C_n^i=(-1)^i*C_n^{n-i}(−1)i∗Cni​=(−1)i∗Cnn−i​
因为nnn为奇数,所以当iii为奇数时,n−in-in−i为偶数,当iii为偶数时,n−in-in−i为奇数
所以i,n−ii,n-ii,n−i奇偶性不同,那么(−1)i+(−1)n−1(-1)^i+(-1)^{n-1}(−1)i+(−1)n−1相当于(−1)奇数次方+(−1)偶数次方=0(-1)^{奇数次方}+(-1)^{偶数次方}=0(−1)奇数次方+(−1)偶数次方=0
(−1)i∗Cni+(−1)n−i∗Cnn−i=0(-1)^i*C_n^i+(-1)^{n-i}*C_n^{n-i}=0(−1)i∗Cni​+(−1)n−i∗Cnn−i​=0
偶数项刚好每一对可以相互抵消,所以性质显然成立

②:若nnn为偶数
(−1)0=(−1)n=1(-1)^0=(-1)^n=1(−1)0=(−1)n=1,先把i=0,i=ni=0,i=ni=0,i=n的情况拆出来,用杨辉三角展开中间项
∑i=0n{(−1)i∗Cni}=Cn0+Cnn+∑i=1n−1{(−1)i∗(Cn−1i+Cn−1i−1)}\sum_{i=0}^n\{(-1)^i*C_n^i\}=C_n^0+C_n^n+\sum_{i=1}^{n-1}\{(-1)^i*(C_{n-1}^i+C_{n-1}^{i-1})\}i=0∑n​{(−1)i∗Cni​}=Cn0​+Cnn​+i=1∑n−1​{(−1)i∗(Cn−1i​+Cn−1i−1​)}
Cn0+Cnn+∑i=0n−2{(−1)i+1∗Cn−1i}+∑i=1n−1{(−1)i∗Cn−1i}C_n^0+C_n^n+\sum_{i=0}^{n-2}\{(-1)^{i+1}*C_{n-1}^i\}+\sum_{i=1}^{n-1}\{(-1)^i*C_{n-1}^i\}Cn0​+Cnn​+i=0∑n−2​{(−1)i+1∗Cn−1i​}+i=1∑n−1​{(−1)i∗Cn−1i​}
把前一个求和加上(−1)n∗Cn−1n−1(-1)^n*C_{n-1}^{n-1}(−1)n∗Cn−1n−1​一项,后一个求和加上(−1)0∗Cn−10(-1)^0*C_{n-1}^0(−1)0∗Cn−10​
在这里插入图片描述

Cn0+Cnn+∑i=0n−1{(−1)i∗Cn−1i}−Cn−1n−1+∑i=1n−1{(−1)i∗Cn−1i}−Cn−10C_n^0+C_n^n+\sum_{i=0}^{n-1}\{(-1)^i*C_{n-1}^i\}-C_{n-1}^{n-1}+\sum_{i=1}^{n-1}\{(-1)^i*C_{n-1}^i\}-C_{n-1}^0Cn0​+Cnn​+i=0∑n−1​{(−1)i∗Cn−1i​}−Cn−1n−1​+i=1∑n−1​{(−1)i∗Cn−1i​}−Cn−10​
注意n−1n-1n−1为奇数,奇数情况已经证明了,故这两个公式直接等于000,删掉,原式转化为
Cn0+Cnn−Cn−10−Cn−1n−1=0C_n^0+C_n^n-C_{n-1}^0-C_{n-1}^{n-1}=0Cn0​+Cnn​−Cn−10​−Cn−1n−1​=0


性质六

Cn0+Cn2+...=Cn1+Cn3+...=2n−1C_n^0+C_n^2+...=C_n^1+C_n^3+...=2^{n-1}Cn0​+Cn2​+...=Cn1​+Cn3​+...=2n−1

证明:
用杨辉三角公式暴力展开寻找规律
①假设nnn为奇数
Cn0+Cn2+...+Cnn−1=Cn−10+Cn−11+Cn−12+Cn−13+Cn−14+...+Cn−1n−2+Cn−1n−1C_n^0+C_n^2+...+C_n^{n-1}=C_{n-1}^0+C_{n-1}^1+C_{n-1}^2+C_{n-1}^3+C_{n-1}^4+...+C_{n-1}^{n-2}+C_{n-1}^{n-1}Cn0​+Cn2​+...+Cnn−1​=Cn−10​+Cn−11​+Cn−12​+Cn−13​+Cn−14​+...+Cn−1n−2​+Cn−1n−1​
Cn1+Cn3+...+Cnn=Cn−10+Cn−11+Cn−12+Cn−13+...+Cn−1n−1+Cn−1nC_n^1+C_n^3+...+C_n^n=C_{n-1}^0+C_{n-1}^1+C_{n-1}^2+C_{n-1}^3+...+C_{n-1}^{n-1}+C_{n-1}^nCn1​+Cn3​+...+Cnn​=Cn−10​+Cn−11​+Cn−12​+Cn−13​+...+Cn−1n−1​+Cn−1n​
发现每一项都是相等的,第二个式子多出来的Cn−1n=0C_{n-1}^n=0Cn−1n​=0,所以相等得证
又根据性质四∑i=0nCni=2n\sum_{i=0}^nC_n^i=2^n∑i=0n​Cni​=2n,前两个式子相加刚好等于∑i=0nCni\sum_{i=0}^nC_n^i∑i=0n​Cni​,又相等,/2/2/2即为2n−12^{n-1}2n−1
在这里插入图片描述
②假设nnn为偶数
Cn0+Cn2+...+Cnn=Cn−10+Cn−11+Cn−12+Cn−13+Cn−14+...+Cn−1n−1+Cn−1nC_n^0+C_n^2+...+C_n^n=C_{n-1}^0+C_{n-1}^1+C_{n-1}^2+C_{n-1}^3+C_{n-1}^4+...+C_{n-1}^{n-1}+C_{n-1}^{n}Cn0​+Cn2​+...+Cnn​=Cn−10​+Cn−11​+Cn−12​+Cn−13​+Cn−14​+...+Cn−1n−1​+Cn−1n​
Cn1+Cn3+...+Cnn−1=Cn−10+Cn−11+Cn−12+Cn−13+...+Cn−1n−2+Cn−1n−1C_n^1+C_n^3+...+C_n^{n-1}=C_{n-1}^0+C_{n-1}^1+C_{n-1}^2+C_{n-1}^3+...+C_{n-1}^{n-2}+C_{n-1}^{n-1}Cn1​+Cn3​+...+Cnn−1​=Cn−10​+Cn−11​+Cn−12​+Cn−13​+...+Cn−1n−2​+Cn−1n−1​
仍然两两对应相等,第一个式子多出来的Cn−1n=0C_{n-1}^n=0Cn−1n​=0,后面的方法与奇数情况一样,不赘述


性质七

Cn+mr=∑i=0min(n,m,r){Cni∗Cmr−i}C_{n+m}^r=\sum_{i=0}^{min(n,m,r)}\{C_n^i*C_m^{r-i}\}Cn+mr​=i=0∑min(n,m,r)​{Cni​∗Cmr−i​}
Cn+mn=Cn+mm=∑i=0min(n,m){Cni∗Cmi},(r=n∣∣r=m)C_{n+m}^n=C_{n+m}^m=\sum_{i=0}^{min(n,m)}\{C_n^i*C_m^i\},(r=n||r=m)Cn+mn​=Cn+mm​=i=0∑min(n,m)​{Cni​∗Cmi​},(r=n∣∣r=m)

证明:
用组合数意义理解
把n+mn+mn+m个分成nnn个一组,mmm个一组,总共选rrr个,相当于nnn个中选iii个,mmm个中选r−ir-ir−i个


性质八

m∗Cnm=n∗Cn−1m−1m*C_n^m=n*C_{n-1}^{m-1}m∗Cnm​=n∗Cn−1m−1​

证明:
m∗Cnm=m∗n!m!∗(n−m)!=n∗(n−1)!(m−1)!∗(n−m)=n∗Cn−1m−1m*C_n^m=m*\frac{n!}{m!*(n-m)!}=n*\frac{(n-1)!}{(m-1)!*(n-m)}=n*C_{n-1}^{m-1}m∗Cnm​=m∗m!∗(n−m)!n!​=n∗(m−1)!∗(n−m)(n−1)!​=n∗Cn−1m−1​


性质九

∑i=0n{Cni∗i}=n∗2n−1\sum_{i=0}^n\{C_n^i*i\}=n*2^{n-1}i=0∑n​{Cni​∗i}=n∗2n−1

证明:
∑i=0n{Cni∗i}=∑i=1n{n!i!∗(n−i)!∗i}=∑i=1nn!(i−1)!∗(n−i)!\sum_{i=0}^n\{C_n^i*i\}=\sum_{i=1}^n\{\frac{n!}{i!*(n-i)!}*i\}=\sum_{i=1}^n\frac{n!}{(i-1)!*(n-i)!}i=0∑n​{Cni​∗i}=i=1∑n​{i!∗(n−i)!n!​∗i}=i=1∑n​(i−1)!∗(n−i)!n!​=∑i=1n{n∗(n−1)!(i−1)!∗(n−i)!}=n∗∑i=1nCn−1i−1=n∗∑i=0n−1Cn−1i=n∗2n−1=\sum_{i=1}^n\{n*\frac{(n-1)!}{(i-1)!*(n-i)!}\}=n*\sum_{i=1}^nC_{n-1}^{i-1}=n*\sum_{i=0}^{n-1}C_{n-1}^i=n*2^{n-1}=i=1∑n​{n∗(i−1)!∗(n−i)!(n−1)!​}=n∗i=1∑n​Cn−1i−1​=n∗i=0∑n−1​Cn−1i​=n∗2n−1
在这里插入图片描述

由性质四可知,∑i=0nCni=2n,∑i=0n−1Cn−1i=2n−1\sum_{i=0}^nC_n^i=2^n,\sum_{i=0}^{n-1}C_{n-1}^i=2^{n-1}∑i=0n​Cni​=2n,∑i=0n−1​Cn−1i​=2n−1


性质十

∑i=0n{Cni∗i2}=n∗(n+1)∗2n−2\sum_{i=0}^n\{C_n^i*i^2\}=n*(n+1)*2^{n-2}i=0∑n​{Cni​∗i2}=n∗(n+1)∗2n−2

证明:
利用性质九
∑i=0n{Cni∗i2}=∑i=0n{n!i!∗(n−i)!∗i∗(i−1+1)}\sum_{i=0}^n\{C_n^i*i^2\}=\sum_{i=0}^n\{\frac{n!}{i!*(n-i)!}*i*(i-1+1)\}i=0∑n​{Cni​∗i2}=i=0∑n​{i!∗(n−i)!n!​∗i∗(i−1+1)}=∑i=0n{n!i!∗(n−i)!∗i+n!i!∗(n−i)!∗i∗(i−1)}=\sum_{i=0}^n\{\frac{n!}{i!*(n-i)!}*i+\frac{n!}{i!*(n-i)!}*i*(i-1)\}=i=0∑n​{i!∗(n−i)!n!​∗i+i!∗(n−i)!n!​∗i∗(i−1)}=∑i=0n{Cni∗i}+∑i=1n{n!(i−1)!∗(n−i)!∗(i−1)}=\sum_{i=0}^n\{C_n^i*i\}+\sum_{i=1}^n\{\frac{n!}{(i-1)!*(n-i)!}*(i-1)\}=i=0∑n​{Cni​∗i}+i=1∑n​{(i−1)!∗(n−i)!n!​∗(i−1)}=n∗2n−1+n∗∑i=1n{(n−1)!(i−1)!∗(n−i)!∗(i−1)}=n*2^{n-1}+n*\sum_{i=1}^n\{\frac{(n-1)!}{(i-1)!*(n-i)!}*(i-1)\}=n∗2n−1+n∗i=1∑n​{(i−1)!∗(n−i)!(n−1)!​∗(i−1)}=n∗2n−1+n∗∑i=1n{Cn−1i−1∗(i−1)}=n∗2n−1+n∗∑i=0n−1{Cn−1i∗i}=n*2^{n-1}+n*\sum_{i=1}^n\{C_{n-1}^{i-1}*(i-1)\}=n*2^{n-1}+n*\sum_{i=0}^{n-1}\{C_{n-1}^i*i\}=n∗2n−1+n∗i=1∑n​{Cn−1i−1​∗(i−1)}=n∗2n−1+n∗i=0∑n−1​{Cn−1i​∗i}=n∗2n−1+n∗(n−1)∗2n−2=(n∗2+n∗(n−1))∗2n−2=n∗(n+1)∗2n−2=n*2^{n-1}+n*(n-1)*2^{n-2}=(n*2+n*(n-1))*2^{n-2}=n*(n+1)*2^{n-2}=n∗2n−1+n∗(n−1)∗2n−2=(n∗2+n∗(n−1))∗2n−2=n∗(n+1)∗2n−2
在这里插入图片描述


性质十一

∑i=0n{(Cni)2}=C2∗nn\sum_{i=0}^n\{(C_n^i)^2\}=C_{2*n}^ni=0∑n​{(Cni​)2}=C2∗nn​

证明:
根据性质七易证
在这里插入图片描述

∑i=0n{(Cni)2}=∑i=0n{Cni∗Cnn−i}=Cn+nn=C2∗nn\sum_{i=0}^n\{(C_n^i)^2\}=\sum_{i=0}^n\{C_n^i*C_n^{n-i}\}=C_{n+n}^n=C_{2*n}^ni=0∑n​{(Cni​)2}=i=0∑n​{Cni​∗Cnn−i​}=Cn+nn​=C2∗nn​


错排数

把nnn个分别写有1−n1-n1−n的球放进nnn个固定的分别写有1−n1-n1−n的盒子里,每个盒子里正好有一个球且盒子上的数字与盒中球的数字都不相同的方案数,记作D(n)D(n)D(n)

递推式:

D(n)=(n−1)∗(D(n−1)+D(n−2))D(1)=0,D(2)=1D(n)=(n-1)*(D(n-1)+D(n-2))\ \ \ \ \ D(1)=0,D(2)=1D(n)=(n−1)∗(D(n−1)+D(n−2))     D(1)=0,D(2)=1

证明:
第一个盒子有n−1n-1n−1种球可以放(除了一号球),假设第一个盒子放的iii号球,则有两种情况
①恰好第iii个盒子放的球就是一号球,则剩下的n−2n-2n−2个球继续错排,方案数为D(n−2)D(n-2)D(n−2)
②第iii个盒子放的不是一号球,此时形成了一条新的限制:一号球不能放进iii号盒
除去第一个盒子和iii号球的剩下n−1n-1n−1个球和n−1n-1n−1个盒子,继续错排的方案数为D(n−1)D(n-1)D(n−1)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/news/317855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洛谷P3155:叶子的染色(树形dp)

解析 本题的关键是选取哪一个根对答案没有影响 还有一个重要的性质是:根节点必定涂色 这点对每棵子树作为独立的子问题时依然成立 然鹅我完全没有看到上面那俩性质 直接暴力设计dp状态0.、1、2 开始莽 然后?然后就T了啊… 只好开始考虑换根 然后&#x…

P7011-[CERC2013]Escape【堆,启发式合并】

正题 题目链接:https://www.luogu.com.cn/problem/P7011 题目大意 给出nnn个点的一棵树,从一出发,要走到 ttt。初始时权值为000,每个节点有一个权值wiw_iwi​,第一次走过这个节点时会让权值加上该节点的权值,要求全程…

CF1463F Max Correct Set(取小样法+状压 DP)

CF1463F Max Correct Set 要求选出集合 \(U\{1,2,3,\dots,n\}\) 的一个子集 \(S\),满足:如果 \(a \in S\) 并且 \(b \in S\),那么 \(|a-b| \not {x}\) 并且 \(|a-b| \not {y}\)。求集合 \(S\) 大小的最大值。 \(1\le n\le 10^9,1\le x,y\le 2…

引入用于 Azure IoT Edge 的 Visual Studio 工具

物联网开发人员:工具和经验引入用于 Azure IoT Edge 的 Visual Studio 工具今天,我们很高兴地发布用于 Visual Studio 2017 的 Azure IoT Edge 工具的预览版。Azure IoT Edge 是一个全托管服务,通过直接在跨平台物联网设备上部署并运行人工智…

P4878 [USACO05DEC]Layout G

P4878 [USACO05DEC]Layout G 题意&#xff1a; 题解&#xff1a; 这个题其实是差分约束的裸题&#xff0c;但是有几个坑要注意 1.题目说了&#xff0c;奶牛按照编号1…N排列&#xff0c;对于ML个输入&#xff0c;A< B ,所以关系是B - A < 10,而不是A - B <10,我一开…

【学习笔记】原根 / BSGS / 扩展BSGS证明及模板

文章目录原根BSGS大步小步算法扩展BSGS原根 如果两个整数a,ba,ba,b互质&#xff0c;则有aϕ(b)%b1a^{\phi(b)}\%b1aϕ(b)%b1 定义模bbb意义下的aaa的阶为使ad%b1a^d\%b1ad%b1的最小正整数ddd 显然&#xff0c;模bbb的阶d∣ϕ(b)d|\phi(b)d∣ϕ(b) 如果模bbb意义下aaa的阶为…

Loj#3130-「COCI 2018.12」Praktični【线性基】

正题 题目链接:https://loj.ac/p/3130 题目大意 给出nnn个点mmm条边的一张有权无向图&#xff0c;你每次可以选择一个边集异或上一个值&#xff0c;要求最少次数使得所有简单环异或和都为000。 1≤n,m≤1051\leq n,m\leq 10^51≤n,m≤105 解题思路 先找一棵生成树&#xff0…

洛谷P5664:Emiya 家今天的饭(容斥、dp)

解析 应该是比较入门的容斥了 统计方案用总方案数-某列超过1半的方案数 dp设计的一个trick是只统计差值 代码 #include<bits/stdc.h> using namespace std; #define ll long long const int N2050; const double eps1e-6; const int mod998244353; inline ll read(){l…

[ARC098F] Donation(找性质+点 Kruskal 重构树)

[ARC098F] Donation 给出一个 \(N\) 个点 \(M\) 条边的无向连通图&#xff0c;每个点的标号为 \(1\) 到 \(n\)&#xff0c; 且有两个权值 \(A_i,B_i\)。第 \(i\) 条边连接了点 \(u_i\) 和 \(v_i\)。 最开始时你拥有一定数量的钱&#xff0c;并且可以选择这张图上的任意一个点作…

.Net Core分布式部署中的DataProtection密钥安全性

在.NetCore中默认使用DataProtection来保护数据&#xff0c;例如Cooike等。一般情况下DataProtection生成的密钥会被加密后存储&#xff0c;例如默认的文件存储可以看到使用了Windows DPAPI加密。但是如果更改默认设置例如使用的外部存储如redis则此时密钥默认是不加密的微软说…

P2294 [HNOI2005]狡猾的商人

P2294 [HNOI2005]狡猾的商人 题意&#xff1a; 你需要调查某个商人的账本&#xff0c;给你n个月内&#xff0c;m条账单信息&#xff0c;每条账单信息为x到y月的收入或者支出多少钱&#xff0c;问你根据账单信息判断这个账本是否合理 5 3 1 5 100 3 5 50 1 2 51比如样例&…

洛谷P1852:跳跳棋(LCA,树形结构)

解析 考虑一个三元组(x,y,z)(x,y,z)(x,y,z)&#xff0c;看它能如何跳 要么是yyy往左右跳&#xff0c;左右边界会变大 要么是两边往中间跳&#xff0c;由于最多跨过一个棋子&#xff0c;所以左右边界会变小 当三点等距时&#xff0c;无法往中间跳 于是我们惊喜的发现&#xff1…

scanf(“%s“)真的只开读入字符串大小就可以了吗??

文章目录前言还原过程计算机程序背后的故事总结瞎逼逼前言 艹艹艹艹艹艹&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;老子没想到没想到&#xff0c;靠&#xff01; 本人刚刚在做树链剖分“染色”一题的代码重构&#xff0c;上午打…

P5299-[PKUWC2018]Slay the Spire【dp】

前言 正题 题目链接:https://www.luogu.com.cn/problem/P5299 题目大意 有2n2n2n张牌&#xff0c; nnn张强化牌&#xff0c;每张上有一个正整数x(x>1)x(x>1)x(x>1)&#xff0c;如果使用后之后的每一张攻击牌伤害都会乘上xxx。nnn张攻击牌&#xff0c;每张上有一个正…

CF1152F Neko Rules the Catniverse(状压 DP)

CF1152F Neko Rules the Catniverse 给定参数 \(n,k,m\)&#xff0c;你需要求有多少个大小为 \(k\) 的序列 \(a\) 满足如下三个条件&#xff1a; 任意两个元素其权值不同。对于任意 \(i\) 满足 \(1\le i\le k\) 有 \(1\le a_i\le n\)。对于任意 \(i\) 满足 \(2\le i\le k\) 有 …

asp.net core2.2 多用户验证和授权

asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍&#xff0c;我感兴趣的主要是这两篇&#xff1a;cookie身份验证基于角色的授权我的项目有两类用户&#xff1a;微信公众号用户&#xff0c;用户名为公众号的openid企业微信的用户&#xff0c;用户名为企业微信的userid每…

P1494 [国家集训队]小Z的袜子

P1494 [国家集训队]小Z的袜子 题意&#xff1a; 有一个长度为 n 的序列c[i] 。现在给出 m个询问&#xff0c;每次给出两个数l,r &#xff0c;从编号在 l 到 r 之间的数中随机选出两个不同的数&#xff0c;求两个数相等的概率。 题解&#xff1a; 很明显&#xff0c;莫队算法…

CSP2020洛谷P7076:动物园(位运算)

你知道它很水&#xff0c;但你就是切不掉它 解析 一直卡85&#xff01;&#xff01; 原因&#xff1a;最后判断的循环应该从0到k-1而不是从1到k&#xff01; 啊啊啊一定要小心啊qwq 说实话这个分都算是好的&#xff0c;这种bug爆大分一点招没有 还有一个问题是对于ans64爆unsi…

一文带你快速读懂.NET CLI

dotnet cli 是 .Net Core 功能中最有用的特性之一。在这篇文章里&#xff0c;我们将介绍几个.Net OSS 工具是如何使用 dotnet cli&#xff0c;并介绍如何在日常开发中使用新的 cli 工具。正文关键要点dotnet cli 使得基于. Net 项目的自动化和脚本编写变得非常简单&#xff0c;…

[POJ 3164]Command Network(最小树形图,朱刘算法)

文章目录titlesolutioncodetitle solution 读完翻译后&#xff0c;很明显就是个朱刘算法的板子题 最小树形图&#xff0c;就是给出一个带权有向图 从中指定一个特殊的结点 root 求一棵以 root 为根的有向生成树 T&#xff0c;且使得 T 中所有边权值最小 简单来说&#xff0c…