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] ...
随机推荐
- JS 手势长按代码
同时支持长按和点击事件,无依赖版 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- 解读Unity中的CG编写Shader系列3——表面剔除与剪裁模式
在上一个样例中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上. 这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁.后 ...
- 在Ubuntu 16.04下安装 virtualbox 5.2
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" ...
- [译]GLUT教程 - 创建和关闭子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Creating and Destroying Subwind ...
- MVC进阶学习--View和Controller之间的数据传递(二)
1. 使用Request.Form MVC 将页面简单化,与WebForm中的事件机制完全不同,就和普通的html标签表单提交没有任何区别(当然WebForm中的事件机制其实也是表单提交).在表单提交 ...
- yaffs2在am335x上实施
一.yaffs2文件烧写(通过网口) uboot下输入如下命令: setenv ipaddr 192.168.2.110;setenv serverip 192.168.2.222;saveenv n ...
- PlSql加入数据库链接
Oracle-OraDb10g_home2 -> 配置和移植工具 -> net Manager -> 本地 -> 服务命名 -> 加入(网络服务名自己命名,主机名:要 ...
- NYOJ-欧几里得
欧几里得 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描写叙述 已知gcd(a,b)表示a,b的最大公约数. 如今给你一个整数n,你的任务是在区间[1,n)里面找到一个最大 ...
- 用android studio创建第一个安卓程序加载html5 页面
前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件 ...
- PHPUnit_Framework_Assert单元测试
先发下简书的干货: 教你一步一步写一个phpunit testcase:https://www.jianshu.com/p/ba6829a6f3ec 程序地址 https://github.com/y ...