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

[NOIP 2016 提高组] 组合数问题

我们先考虑暴力,暴力枚举每一个\(i,j\)暴力算\(\binom{i}{j}\)
时间复杂度为\(O(T*N^3)\),显然超时

然后我们发现\(N,M \le2000\)
我们考虑使用组合数的递推公式预处理\(\binom{0}{0}\)\(\binom{2000}{2000}\)

这里说一下组合数递推公式\(\binom{i}{j}=\binom{i-1}{j-1}+\binom{i-1}{j}\)
可以从组合意义上来理解 我们从\(i\)个数中选\(j\)个数,对于每一个数可以分为选与不选两种情况,选的时候即\(\binom{i-1}{j-1}\),在剩下的\(i-1\)个数里选\(j-1\)个数,不选的时候即\(\binom{i-1}{j}\),在剩下的\(i-1\)个数里选出\(j\)个数.

但是这样复杂度为\(O(T*N^2+N^2)\),依旧无法通过,事实上我们需要一种不需要枚举\(i,j\)的方法才能通过。

我们发现对于多个询问,\(k\)始终为定值,于是考虑前缀和优化,设\(ans_{i,j}\),在预处理时,若\(k|\binom{i}{j}\),则将\(ans_{i,j}+1\)。然后套用二维前缀和。但是我们发现,二维前缀和递推时 \(ans_{i,j}=ans_{i-1,j}+ans_{i,j-1},-ans_{i-1,j-1}+[k|\binom{i}{j}]\),在处理到边界时,我们会用未处理的值(因为此时\(i<j\))来更新。
但是我们又发现

对于所有的 \(0\leq i\leq n,0\leq j\leq \min \left ( i, m \right )\) 有多少对 \((i,j)\) 满足 \(k|\binom{i}{j}\)

于是我们直接将未处理的值设为同一行上一个值

由此即可AC这道题了!

点我展开看代码
```cpp#include <bits/stdc++.h>using namespace std;#define int long longint t,n,m,k,c[2008][2008],ans[2008][2008];void init(){c[0][0]=1;c[1][0]=c[1][1]=1;for(int i=2;i<=2000;i++){c[i][0]=1; for(int j=1;j<=i;j++){c[i][j]=(c[i-1][j-1]+c[i-1][j])%k;ans[i][j]=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1];if(c[i][j]==0){ans[i][j]++;} }ans[i][i+1]=ans[i][i]; }}signed main(){cin>>t>>k;init(); while(t--){cin>>n>>m;if(n<m){cout<<ans[n][n]<<"\n";} else{cout<<ans[n][m]<<"\n"; }}return 0;}
```
http://www.sczhlp.com/news/152151/

相关文章:

  • 昆明专业网站建设模板如何免费注册淘宝店铺
  • 唐山电商网站建设如何建设交流网站的论文
  • 建立网站目录的时候直播app源码
  • 网站建设资质备案微信网站开发合同
  • 如何在分类信息网站做推广云服务器wordpress
  • wordpress ip统计网站问题seo解决方案
  • 主流网站风格个人主页设计实验报告
  • 网站建设商业win2012做网站
  • 品牌网站建设咨询建立网站的工具
  • 湖南seo网站开发十四五学科专业建设规划
  • 网站正在维护中 模板免费python在线正常网站
  • 网站建设的公司如何寻找客户做ppt常用的网站
  • 建站模板哪里好网站建站是什么
  • 怎么制作钓鱼网站链接wordpress多地址
  • 一个网站建立团队大概要多少钱设计培训班学费一般多少
  • 网站设计公司推荐奇点网络品牌网线和普通网线有什么区别
  • 网站建设简介淄博专门做孩子早教的网站
  • 笛卡尔树 (区间最小值)
  • CF2003F. Turtle and Three Sequences
  • 【Rust GUI开发入门】编写一个本地音乐播放器(11. 支持动态明暗主题切换) - Jordan
  • 中山网站代运营有谁知道知乎网站是谁做的
  • 网站投票链接怎么做网站建设技术架构
  • 山西省住房城乡建设厅网站阿里云1核1g wordpress
  • 农林网站建设公司江阴做网站
  • 网站建设职业天津网站排名优化
  • 做网站的技术要求友链交换平台
  • 免费网站主机做购物网站需要学哪些
  • 网站开发里程碑pvc建筑模板生产厂家
  • 湖南网站推广优化大朗镇网站仿做
  • eclipse可以做网站嘛网站建设流程共有几个阶段