hdu 1171 Big Event in HDU(母函数)
来源:互联网 发布:知乎jenny wang 事件 编辑:程序博客网 时间:2024/05/18 12:04
Big Event in HDU
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1171
解题思路:
由母函数可知,数组c1[i]代表i一共有多少种组合,所以c1[i]为0,代表该数没有可行解,从总数的一半开始,往下面找,直到找到一
个不为0的i,即为所求。。。
AC代码:
#include <iostream>#include <cstdio>#include <cstring>#include <cstring>using namespace std;int c1[100000],c2[100000];int a[55],num[55];int main(){ int n; while(scanf("%d",&n),n > 0){ //然而这里并不能写成n != -1... int sum = 0; int i,j,k; memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); for(i = 0; i < n; i++){ scanf("%d%d",&a[i],&num[i]); sum += a[i]*num[i]; } int mid = sum/2; for(i = 0; i <= num[0]; i++) c1[i*a[0]] = a[0]; for(i = 1; i < n; i++){ for(j = 0; j <= mid; j++) for(k = 0; k <= num[i] && k*a[i]+j <= mid;k++) c2[k*a[i]+j] += c1[j]; for(j = 0; j <= mid; j++){ c1[j] = c2[j]; c2[j] = 0; } } for(i = mid; i >= 0; i--) if(c1[i]) break; printf("%d %d\n",sum-i,i); } return 0;}
0 0
- hdu 1171 Big Event in HDU (母函数)
- HDU 1171 Big Event in HDU (母函数)
- HDU 1171 Big Event in HDU(母函数||DP)
- hdu 1171 Big Event in HDU(母函数)
- hdu 1171 Big Event in HDU(母函数)
- 【HDU】1171 - Big Event in HDU(母函数)
- HDU 1171 Big Event in HDU(背包)(母函数)
- Big Event in HDU(母函数)
- HDU 1171 Big Event in HDU(母函数)
- 【HDU】1171【母函数】【Big Event in HDU】
- [母函数]HDU 1171 Big Event in HDU
- Hdu 1171 Big Event in HDU 母函数
- HDU 1171 Big Event in HDU【多重背包||母函数】
- hdu 1171 Big Event in HDU(母函数|多重背包)
- HDU 1171-Big Event in HDU(母函数)
- HDU 1171 Big Event in HDU 【母函数】
- HDU 1171 Big Event in HDU (母函数)
- 母函数 HDU-1171 Big Event in HDU
- 黑马程序员——java基础—String类和StringBuffer类
- poj2752
- 利用HTML5 Canvas和Javascript实现的蚁群算法求解TSP问题演示
- UVA 1218 (树形DP)
- mybatis的逆向工程
- hdu 1171 Big Event in HDU(母函数)
- n阶乘求最后非0数字及最后面连续0的个数
- hdu5057 分块法
- tarjan算法之 强连通分量
- 学习方法的思考
- Leetcode46 Permutations
- 另外十条千金不卖的人生感悟
- hdu5120 两圆环相交 数学题
- STM32F407vet6使用FSMC驱动LCD屏