[HEOI2014]平衡

转化为求选择k个数,和为(n+1)*k的方案数

保证,每个数[1,2*n+1]且最多选择一次。

限制k个很小,所以用整数划分的第二种方法

f[i][j],用了i个,和为j

整体+1,或者取一个1再整体加1(为了保证只选择一次)

j>=2*n+2时,整体+1,所以必然存在一个选择了2*n+2的方案,减掉f[i-1][j-(2*n+2)]即可

#include<bits/stdc++.h>
#define reg register int
#define il inline
#define fi first
#define se second
#define mk(a,b) make_pair(a,b)
#define numb (ch^'0')
using namespace std;
typedef long long ll;
template<class T>il void rd(T &x){
char ch;x=;bool fl=false;
while(!isdigit(ch=getchar()))(ch=='-')&&(fl=true);
for(x=numb;isdigit(ch=getchar());x=x*+numb);
(fl==true)&&(x=-x);
}
template<class T>il void output(T x){if(x/)output(x/);putchar(x%+'');}
template<class T>il void ot(T x){if(x<) putchar('-'),x=-x;output(x);putchar(' ');}
template<class T>il void prt(T a[],int st,int nd){for(reg i=st;i<=nd;++i) ot(a[i]);putchar('\n');} namespace Miracle{
int f[][(+)*+];
int n,k,p;
int main(){
int t;
rd(t);
while(t--){
rd(n);rd(k);rd(p);
memset(f,,sizeof f);
f[][]=;
for(reg j=;j<=(n+)*k;++j){
for(reg i=;i<=min(k,j);++i){
f[i][j]=(f[i][j-i]+f[i-][j-i]-(j>=(n+)*?f[i-][j-(n+)*]:)+p)%p;
}
}
printf("%d\n",f[k][(n+)*k]);
}
return ;
} }
signed main(){
Miracle::main();
return ;
} /*
Author: *Miracle*
Date: 2019/3/20 16:26:21
*/

最新文章

  1. Sql 常见问题
  2. jquery.cookie.js 操作cookie实现记住密码功能的实现代码
  3. LB 简单比较 – F5、NetScaler、LVS、Nginx、Haproxy
  4. jq 解析josn字符串
  5. Spring Boot工程发布到Docker
  6. 黑马程序员——OC语言 三大特性之继承
  7. iOS开发之--UITextField属性
  8. MySQL 5.7 SYS系统SCHEMA
  9. CentOs6.5中安装和配置vsftp简明教程
  10. Android--获取标题栏,状态栏,屏幕高度
  11. JAVA HttpsURLConnection 忽略对SSL valid 的验证
  12. poj3468 线段树+lazy标记
  13. 像web一样使用python
  14. hdu 3555 Bomb(不要49,数位DP)
  15. riot.js教程【四】Mixins、HTML内嵌表达式
  16. Week02-Java基本语法与类库
  17. 【H5-移动端开发】外部唤起本机APP的解决方法
  18. java基础中this,super
  19. vue父子组件之间互相获取data值&amp;调用方法(非props)
  20. jQuery文档操作

热门文章

  1. spring初始化bean时执行某些方法完成特定的初始化操作
  2. java学习之—递归实现二分查找法
  3. python数学第七天【期望的性质】
  4. idea -&gt; Error during artifact deployment. See server log for details.
  5. oracle ceil函数
  6. 1.docker 数据卷的备份和恢复(非大数据量)
  7. ubuntu6.04安装
  8. .net core 2.0 MVC区域
  9. Linux下tomcat中多项目配置druid报错的问题
  10. Linux的Shell练习--个人笔记