USACO 2.2 Subset Sums (subset)
2014-02-23 15:20
351 查看
//Main Idea //Dynamic Programming.This problem is variant of 0-1 knapsack problem. // ans[i][j] means the subset number whose sum is j for the set {1,2,..,i}; /* ID: haolink1 PROG: subset LANG: C++ */ //#include <iostream> #include <fstream> using namespace std; int max_num = 0; unsigned long ans[40][40*(40+1)/2]; int main(){ ifstream fin("subset.in"); fin >> max_num; int sum = max_num*(max_num+1)/2; ofstream fout("subset.out"); //The sum of set must be exactly divided by 2 if the sums of both subsets are identical; if(sum % 2 != 0){ fout<<0<<endl; return 0; } int half_sum = sum/2; ans[1][1] = 1; for(int i = 2; i <= max_num; i++){ for(int j = 1; j <= half_sum; j++){ if(j < i) ans[i][j] = ans[i-1][j]; if(j == i) ans[i][j] = ans[i-1][j]+1; if(j > i) ans[i][j] = ans[i-1][j]+ans[i-1][j-i]; } } fout<<ans[max_num][half_sum]/2<<endl; return 0; }
相关文章推荐
- USACO-Section2.2 Subset Sums【动态规划】
- USACO - 2.2 Subset Sums(DP)
- USACO Section 2.2 Subset Sums - 01背包的思想
- USACO 2.2 Subset Sums (DP动态规划)
- [USACO2.2]集合 Subset Sums
- USACO-Section 2.2 Subset Sums (DP)
- 【USACO 2.2】Subset Sums (DP)
- USACO section 2.2 Subset Sums(DP,背包)
- USACO section2.2 Subset Sums题解&代码
- USACO 2.2 Subset Sums dp
- USACO section 2.2 Subset Sums(DP,背包)
- USACO 2.2 Subset Sums 集合(subset)
- USACO 2.2 Subset Sums(水DP)
- USACO-Section2.2 Subset Sums [动态规划]
- USACO - Chapter2 Section 2.2 - Subset Sums
- usaco 2.1.4 Subset Sums 【母函数】
- USACO / Subset Sums集合 (DP)
- USACO 2.2.2 Subset Sums(母函数)
- usaco 2.2 subset...呵呵,超级爆搜半天不会出结果版...自娱自乐...
- usaco 2.2 subset...呵呵,再来一个暴搜超时版...