当前位置: 首页 > news >正文

企业门户网站设计报告最新消息

企业门户网站设计报告,最新消息,能上外国网站dns,你们公司的网站都备案了吗一:递推求解 对于组合数,有此式: C n m C n − 1 m − 1 C n − 1 m C_{n}^{m}C_{n-1}^{m-1}C_{n-1}^{m} Cnm​Cn−1m−1​Cn−1m​。 C n m C_{n}^{m} Cnm​ 可理解为 n n n 个数中选 m m m 个,不同的方案。对于第 n n n 个…

一:递推求解

对于组合数,有此式: C n m = C n − 1 m − 1 + C n − 1 m C_{n}^{m}=C_{n-1}^{m-1}+C_{n-1}^{m} Cnm=Cn1m1+Cn1m

C n m C_{n}^{m} Cnm 可理解为 n n n 个数中选 m m m 个,不同的方案。对于第 n n n 个,可以选或不选,分别对应了 C n − 1 m − 1 C_{n-1}^{m-1} Cn1m1 C n − 1 m C_{n-1}^{m} Cn1m 的方案,根据加法原理,令它们相加就得到了 C n m C_{n}^{m} Cnm

此方法适用于 n n n 的范围不是很大的情况,而限制没有,即方便写高精度,也可以对任意模数取模,唯一缺点便是时间复杂度为 O ( n 2 ) O(n^2) O(n2)

附代码:

for(int i=0;i<=n;i++){for(int j=0;j<=i;j++){if(j==0) C[i][j]=1;else C[i][j]=C[i-1][j]+C[i-1][j-1];}
}

二:利用公式,用逆元求解

根据组合数公式 C n m = n ! m ! ( n − m ) ! C_{n}^{m}=\frac{n!}{m!(n-m)!} Cnm=m!(nm)!n!,在取模的意义下,除一个数等于乘它的逆元,我们就可以线性求出阶乘逆元,然后 O ( 1 ) O(1) O(1)求解组合数。

而此方法要求模数是质数,并且逆元必须存在。一般在模一个很大的质数
(例如 998244353 998244353 998244353 1 e 9 + 7 1e9+7 1e9+7)的情况下可以优先考虑它。

附代码:

int qpow(int a,int b){int res=1;while(b){if(b&1)res=res*a%mod;a=a*a%mod,b>>=1;}return res;
}
int C(int n,int m){if(n<m) return 0;return fac[n]*infac[m]%mod*infac[n-m]%mod;
}
void init(){fac[0]=1;int t=1e6;//1<=n<=1e6for(int i=1;i<=t;i++) fac[i]=fac[i-1]*i%mod;infac[t]=qpow(fac[t],mod-2);for(int i=t-1;i>=0;i--) infac[i]=infac[i+1]*(i+1)%mod;
}

三:Lucas定理

我们上文说了逆元求组合数需要模上一个质数,那么在模数任意的情况下如何求解?
这就需要利用 Lucas 定理来求解。

先上 Lucas 定理给出的式子: C n m ≡ C n m o d p m m o d p ∗ C n / p m / p ( m o d p ) C_{n}^{m}\equiv C_{n_{} mod_{}p}^{m_{}mod_{}p}*C_{n/p}^{m/p}(mod_{}p) CnmCnmodpmmodpCn/pm/p(modp)

由此,我们可以先预处理出 [ 1 , p ] [1,p] [1,p] 范围内的阶乘逆元,然后递归求解。另外,Lucas 定理也有适用范围,它一般适用于模数并不是很大(一般是小质数,范围在 1 e 5 1e5 1e5 左右,这个时候可以放心求解)。并且它还可以用于 n , m n,m n,m 非常大,模数非常小,的情况。

具体可看代码实现:

int Lucas(int n,int m,int p){if(m==0) return 1;return C(n%p,m%p,p)*Lucas(n/p,m/p,p)%p;//C(n%p,m%p)见上文
}

附:练习

下面是一些求组合数的练习题。
Lucas 定理:
(纯模版题)

P3223 [HNOI2012] 排队:
(梦回高中数学,需要推出式子,然后高精度求)

P2822 [NOIP2016 提高组]组合数问题:
(递推+高精度求组合数,需要一定优化技巧)

P1680 奇怪的分组:
(插板法,蛮简单的)

P1655 小朋友的球:
(斯特林数,如果不知道的话很难推出来,可以学一学)

http://www.khdw.cn/news/1228.html

相关文章:

  • 政府网站建设讲话网站设计师
  • 做曖免费网站百度快速排名优化服务
  • 网站开发编码选择一般是知乎seo
  • 什么网站合适做流量外包网络推广公司推广网站
  • 网站建设公司转型百度云搜索引擎入口网盘搜索神器
  • 精品在线开发网站建设代运营一家店铺多少钱
  • 衡水做wap网站的地方贵阳搜索引擎排名推广
  • 漳州做网站含博大网seo技术交流
  • 建设营销型网站公司长春关键词优化报价
  • 做蛋糕视频教学网站网站制作的要点和步骤详解
  • 平台推广策划站长工具seo客户端
  • 公司网站开发公司百度商家入驻怎么做
  • 宁波做网站哪家好网站案例分析
  • 搭建网站需要的软件关键词数据
  • 电脑编程培训优化神马排名软件
  • 企业网站建设美丽网络营销公司名字
  • 做网站需要多少钱呢贵阳网站优化公司
  • 足球比赛直播阿根廷seo查询
  • 网站建设APP的软件最新实时新闻
  • 郑州有官方网站的公司seo就业前景
  • 如何做电商网站测试长沙网站推广排名
  • 个人导航网站如何赚钱最近一周新闻大事
  • 莱州做网站的公司外贸软件排行榜
  • 韶关网站建设公司百度推广是做什么的
  • 网站建设对企业的重要性怎么样做推广
  • 建设银行网站认证seo咨询邵阳
  • 扬州建设银行网站天津网站制作系统
  • 做网站主要注意些什么问题跨境电商怎么开店铺
  • 夏天做哪些网站致富快速排名优化推广排名
  • 可以上传自己做的视频的网站吗营销手段和营销方式