建立公司微信平台 网站平台,工商执照查询官网,传统的网站开发模式和mvc,电子商务实现技术文章目录 计数原理排列数组合数组合数性质例题分析代码复现 例题2状态分析代码复现 常见的排列组合问题圆排列代码复现 第二类斯特林数 感悟 计数原理
排列数 组合数 组合数性质 例题分析 代码复现
def ksm(a, b, c):ans 1%cwhile b ! 0:if b % 2 0:ans ans * a %ca a * … 文章目录 计数原理排列数组合数组合数性质例题分析代码复现 例题2状态分析代码复现 常见的排列组合问题圆排列代码复现 第二类斯特林数 感悟 计数原理
排列数 组合数 组合数性质 例题分析 代码复现
def ksm(a, b, c):ans 1%cwhile b ! 0:if b % 2 0:ans ans * a %ca a * a % cb // 2return ans
#利用费马小定理求逆元
def inv(a):return ksm(a, mod- 2, mod)#求组合数
def C(n, m):p, q 1, 1for i in range(1, m1):p p * (n 1 -i) % modq q * i % modreturn p * inv(q) % mod
mod 1000000007
n, a, b map(int, input().split())
ans ksm(2, n, mod)-1-C(n, a) - C(n, b)
ans ((ans%mod) mod) % mod#这里是防止对负数取模例题2 状态分析 这题就是单纯的数学分析的题目了
代码复现 常见的排列组合问题 圆排列 ###例题分析
代码复现
import os
import sys# 请在此输入您的代码
n, k map(int, input().split())
#n个不同的球放到k个相同的箱子里面不允许空
#dp[i][j]表示i个球放入j个箱子里的方案书
#1.第i个球开辟一个箱子dp[i-1][j-1]
#2.已经有了j个箱子dp[i-1][j]*j
mod 1000000007
dp [[0]*(k1) for i in range(n1)]
for i in range(1,n1):for j in range(1,min(k, i)1):#j 1 表示所有的球放到一个箱子j i因为非空表示每个箱子只放一个球if j 1 or j i:dp[i][j] 1else:dp[i][j] (dp[i - 1][j - 1] dp[i - 1][j] * j)%mod
print(dp[n][k])第二类斯特林数
搜集了一些资料觉得这个博客讲的很详细第二类斯特林数 内容截图如下
感悟
复习了一下高中的知识觉得很微妙继续加油 蓝桥杯云课学习笔记分享欢迎大佬们批评指正
一直在进步就好咯
by 闻不多