HDU OJ 2159 FATE
#include <stdio.h>
#include <string.h> int f[][] ;
int w[]; //»ñµÃ¾Ñé
int c[]; //»¨·ÑµÄÈÌÄÍ¶È int main()
{
int n, m, kk, s;
int i, j, k;
int flag, cc; while(scanf("%d %d %d %d", &n, &m, &kk, &s )!=EOF) //¶ÁÈënËùÐè¾Ñé mÈÌÄÍ¶È kk¹ÖµÄÖÖÀà s¿ÉɱµÃ×î´ó¹ÖµÄÊýÄ¿
{
flag= ;
memset(f, , sizeof(f ));
for(i=; i<kk; i++)
{
scanf("%d %d", &w[i], &c[i] );
} for(i=; i<kk; i++)
{
for(j=c[i]; j<=m; j++)
{
for(k=; k<=s; k++)
{
if(f[j][k] < (f[j-c[i]][k-] + w[i]) )
{
f[j][k] = f[j-c[i]][k-] + w[i] ;
}
}
}
} for(i=; i<=m; i++)
{
for(j=; j<=s; j++)
{
if( f[i][j] >=n )
{
flag=;
cc = i;
break;
}
}
if(flag==)
break;
}
if(flag)
printf("%d\n", m-cc );
else
printf("-1\n");
}
return ;
}
FATE
Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
Input
Output
Sample Input
Sample Output
我们把忍耐度作为背包容量,把经验值作为价值,增加一维数量的限制,那么这道题就是典型的背包问题。
我们定义dp[j][k]表示背包容量为j,选择k件物品所能达到的最大的价值。其实这是前面省略了一维的结果,我们可以更清晰的定义dp[i][j][k]表示前i中物品中,背包容量为j的背包选择k件物品所能达到的最大值,我们列开状态转移方程之后,发现可以省略前面一维保持答案的正确性,因此我们采用第一种定义来优化空间。
状态转移比较简单,看看代码就知道了。
HDU OJ 2159 FATE的更多相关文章
- HDU 2159 FATE 完全背包
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2159 FATE Time Limit: 2000/1000 MS (Java/Others)Memo ...
- HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包)
HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包) 题意分析 与普通的完全背包大同小异,区别就在于多了一个个数限制,那么在普通的完全背包的基础上,增加一维,表示个数.同时for循环 ...
- [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ
前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的 ...
- hdu oj 1285 确定比赛名次
hdu oj 1285 确定比赛名次 题目: 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- sort(hdu oj 1425)计数排序和快速排序
Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0 < n,m < 1000000),第二行包含n个各不 ...
- HDU 2159 FATE(二维费用背包)
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDU 2159 FATE (二维完全背包
FATE http://acm.hdu.edu.cn/showproblem.php?pid=2159 Problem Description 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备 ...
- hdu 2159 FATE
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 思路:二维完全背包,状态转移方程为: f[j][l]=max(f[j][l],f[j-b[i]] ...
- hdu 2159 FATE (二维完全背包)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 思路: dp[j][k] 代表消耗耐久度j,干掉k个敌人获得的经验值. 状态转移方程为: dp[j] ...
随机推荐
- MQTT--linux安装部署(CentOS)
OS环境:CentOS6.5 1.安装依赖 yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake ...
- python测试网页是否能正常登陆
#!/usr/bin/python #encoding:utf-8 ##实现网页的登陆检查 import HTMLParser import urlparse import cookielib imp ...
- java中volatile关键字的含义(转)
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...
- 《STL源代码剖析》学习笔记系列之七、八——仿函数和配接器
1. 仿函数 仿函数又名函数对象.具有函数性质的对象.就是传入一些參数.然后对參数进行某些运算,然后返回一个值. 为了可以使行为类似函数,须要在类别定义中必须自己定义function call 运算子 ...
- 挖一挖C#中那些我们不经常使用的东西之系列(4)——GetHashCode,ExpandoObject
一:GetHashCode 从MSDN上能够看到的解释是:用作特定类型的哈希函数,也就是说不论什么对象的实例都会有一个int32类型的HashCode.而且存放在FCL中的 HashCollectio ...
- Git(四):理解和使用分支
分支是Git的核心内容之中的一个,本章将介绍分支的一些知识,这里将继续使用前面创建的版本号库. 假设你跳过了前面章节直接进入本章.能够从Github上克隆这个版本号库: $ git clon ...
- centos 7 安装 mail
yum install -y sendmail 将下面内容粘贴到/etc/mail.rc中 set ssl-verify=ignore set nss-config-dir=/root/.certs ...
- Python 内建的filter()函数用于过滤序列。
例如,在一个list中,删掉偶数,只保留奇数,可以这么写: def is_odd(n): return n % 2 == 1 list(filter(is_odd, [1, 2, 4, 5, 6, 9 ...
- linux php.ini又一次载入问题
今天发现自己server改动php.ini之后无法又一次载入! .无法使用php-fpm reload,奇怪.! 后来查了一下.能够使用 /etc/init.d/php-fpm reload 来又一次 ...
- 记录-项目java项目框架搭建的一些问题(maven+spring+springmvc+mybatis)
伴随着项目框架的落成后,本以为启动就能成功的,but.... 项目启动开始报错误1:java.lang.ClassNotFoundException: org.springframework.web. ...