【HDOJ】1171 Big Event in HDU
母函数,先要算搞清楚组合数可能的最大值。非常大。N种设备的最大VAL*最大数量。
#include <stdio.h>
#include <string.h> #define MAXNUM 500000 typedef struct {
int val, num;
} fac_st; fac_st facs[];
int c1[MAXNUM], c2[MAXNUM]; int main() {
int n, sum, tmp;
int i, j, k; while (scanf("%d", &n) != EOF && (n>=)) {
sum = ;
for (i=; i<=n; ++i) {
scanf("%d %d", &facs[i].val, &facs[i].num);
sum += facs[i].val * facs[i].num;
}
memset(c1, , sizeof(c1));
memset(c2, , sizeof(c2));
for (i=, j=; i<=facs[].num; ++i, j+=facs[].val)
c1[j] = ;
for (i=; i<=n; ++i) {
for (j=; j<=sum; ++j) {
tmp = facs[i].val * facs[i].num;
for (k=; k<=tmp && (k+j)<=sum; k+=facs[i].val)
c2[k+j] += c1[j];
}
for (j=; j<=sum; ++j) {
c1[j] = c2[j];
c2[j] = ;
}
}
k = sum/;
if (c1[k])
printf("%d %d\n", sum-k, k);
else {
for (i=k+; i<=sum; ++i)
if (c1[i]) {
printf("%d %d\n", i, sum-i);
break;
}
}
} return ;
}
【HDOJ】1171 Big Event in HDU的更多相关文章
- HDU 1171 Big Event in HDU 多重背包二进制优化
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1171 Big Event in HDU Time Limit: 10000/5000 MS (Jav ...
- HDU 1171 Big Event in HDU【01背包/求两堆数分别求和以后的差最小】
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 【01背包】HDU 1171 Big Event in HDU
Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. Bu ...
- HDOJ 1171 Big Event in HDU
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 【温故知新】c#事件event
从上一篇文章[温故知新]C#委托delegate可知,委托delegate和事件Event非常的相似,区别就是event关键字,给delegate穿上了个“马甲”. 让我们来看官方定义: 类或对象可以 ...
- HDU 1171 Big Event in HDU (多重背包变形)
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 组合数学 - 母函数的变形 --- hdu 1171:Big Event in HDU
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- HDU 1171 Big Event in HDU (多重背包)
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 杭电1171 Big Event in HDU(母函数+多重背包解法)
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
随机推荐
- serialize
Jquery的serialize()方法用于将表单元素转换为查询字符串格式, Submit按钮及File选择元素是不能序列化的. $('input:button').click(function() ...
- js 金额格式化
//格式化金额 function fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2; s = parseFloat((s + &quo ...
- Java实战之03Spring-01Spring概述
一.Spring概述 1.Spring是什么? Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(A ...
- Google 编码风格
一.Google JavaScript编码风格 简体中文版 Google JavaScript Style Guide 二.Google HTML/CSS代码风格指南 简体中文版 三.Google C ...
- [Guava官方文档翻译] 7. Guava的Immutable Collection(不可变集合)工具 (Immutable Collections Explained)
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3538666.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体 ...
- linq递归
public class Comment { public int Id { get; set; } public int ParentId { get; set; } public string T ...
- STM32F40xxx 与 STM32F41xxx Flash结构详解
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 硬件平台:STM32F4 DISCOVERY开发板 型号:MB997A或MB997C主芯片型号:ST ...
- iOS中的NSLog的输出格式
• %@ 对象 • %d, %i 整数 • %u 无符整形 • %f 浮点/双字 • %x, %X 二进制整数 • ...
- Linux下GPIO驱动(三) ----gpio_desc()的分析
上篇最后提出的疑问是结构体gpio_chip中的成员函数set等是怎么实现的,在回答之前先介绍下gpio_desc这个结构体. 如上图所示,右上方部分为GPIO驱动对其它驱动提供的GPIO操作接口,其 ...
- codeforces 8VC Venture Cup 2016 - Elimination Round C. Lieges of Legendre
C. Lieges of Legendre 题意:给n,m表示有n个为2的倍数,m个为3的倍数:问这n+m个数不重复时的最大值 最小为多少? 数据:(0 ≤ n, m ≤ 1 000 000, n + ...