N (1 <= N <= 39),问有多少种把1到N划分为两个集合的方法使得两个集合的和相等。

如果总和为奇数,那么就是0种划分方案。否则用dp做。

dp[i][j]表示前 i 个数划分到一个集合里,和为j的方法数。

dp[i][j]=dp[i-1][j]+dp[i][j-i]

n 为 39 时,1 到 39 的和为 780,枚举 j 的时候枚举到 s/2,最后输出dp[n][s/2]/2。

http://train.usaco.org/usacoprob2?a=z5hb7MFUmsX&S=subset

/*
TASK: subset
LANG: C++
*/
#include<bits/stdc++.h>
int n;
int s,ans;
long long dp[][];
int main(){
freopen("subset.in","r",stdin);
freopen("subset.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)s+=i;
dp[][]=;
if(s%==)
for(int i=;i<=n;i++){
for(int j=;j<=s/;j++)
dp[i][j]+=dp[i-][j]+(j>=i?dp[i-][j-i]:); printf("%lld\n",dp[n][s/]/);
}

  

最新文章

  1. awk sed 总结
  2. HDU 1072 Nightmare
  3. 【代码笔记】iOS-16进制颜色与UIColor互转
  4. javascript简单的认识下return语句+2015的总结+2016的展望
  5. dom event无法获取问题
  6. 单个input框上传多个文件操作
  7. Javascript 插件统一的实现步骤
  8. spring利用注解来注册bean到容器
  9. nullptr和NULL 区别
  10. node 与php整合
  11. android Editview中加小图标或者文字实现
  12. SQLServer分页查询存储过程
  13. [CLR via C#]5.1 基元类型
  14. Nginx限速模块初探
  15. ●BZOJ 2049 [Sdoi2008]Cave洞穴勘测
  16. Linq中join多字段匹配
  17. 关于JWTtoken的管理问题
  18. 点到圆弧的距离(csu1503)+几何
  19. Linux ELF 文件格式
  20. 2017-11-20 中文代码示例之Vuejs入门教程(一)问题后续

热门文章

  1. [No000015]坏习惯一大堆?别怕,还有救-坏习惯一堆,怎么好好学习嘛!
  2. php一句话后门过狗姿势万千之传输层加工(1)
  3. bzoj4034: [HAOI2015]T2
  4. 实现PD控制
  5. Centos6 修改max user processes limits
  6. usb驱动开发16之设备生命线
  7. [转]使用URLDecoder和URLEncoder对中文进行处理
  8. lecture10-模型的结合与全贝叶斯学习
  9. [云上天气预报-有时有闪电]2月3日23:00-4:00阿里云SLB升级期间网络会闪断
  10. Excel导入导出,通过datatable转存(篇一)