【USACO 2.2】Subset Sums (DP)
2024-09-20 10:08:38
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/]/);
}
最新文章
- awk sed 总结
- HDU 1072 Nightmare
- 【代码笔记】iOS-16进制颜色与UIColor互转
- javascript简单的认识下return语句+2015的总结+2016的展望
- dom event无法获取问题
- 单个input框上传多个文件操作
- Javascript 插件统一的实现步骤
- spring利用注解来注册bean到容器
- nullptr和NULL 区别
- node 与php整合
- android Editview中加小图标或者文字实现
- SQLServer分页查询存储过程
- [CLR via C#]5.1 基元类型
- Nginx限速模块初探
- ●BZOJ 2049 [Sdoi2008]Cave洞穴勘测
- Linq中join多字段匹配
- 关于JWTtoken的管理问题
- 点到圆弧的距离(csu1503)+几何
- Linux ELF 文件格式
- 2017-11-20 中文代码示例之Vuejs入门教程(一)问题后续
热门文章
- [No000015]坏习惯一大堆?别怕,还有救-坏习惯一堆,怎么好好学习嘛!
- php一句话后门过狗姿势万千之传输层加工(1)
- bzoj4034: [HAOI2015]T2
- 实现PD控制
- Centos6 修改max user processes limits
- usb驱动开发16之设备生命线
- [转]使用URLDecoder和URLEncoder对中文进行处理
- lecture10-模型的结合与全贝叶斯学习
- [云上天气预报-有时有闪电]2月3日23:00-4:00阿里云SLB升级期间网络会闪断
- Excel导入导出,通过datatable转存(篇一)