ssl1558-科技庄园【dp习题】
来源:互联网 发布:java如何使用log4j 编辑:程序博客网 时间:2024/04/27 23:18
题目:
Life是河北衡水中学的学生,他是一个道德极高的学生,他积极贯彻党的十七大精神,积极走可持续发展道路,在他的不屑努力下校领导终于决定让他在衡中的一片闲杂地里种桃,以亲身实践种田的乐趣,厉行节约,告诉人们节约的重要性!
春华秋实,在这个金秋的季节,Life带者他的宠物——PFT到了他的试验田,当他看见自己的辛勤成果时,心里是那个高兴啊!
这时Life对他的宠物PFT说:“你想不想吃桃啊?”
PFT兴奋的说:“好啊!”
Life说:“好吧,但是我只给你一定的时间,你必须在规定的时间之内回到我面前,否则你摘的桃都要归我吃!”
PFT思考了一会,最终答应了!
由于PFT的数学不好!它并不知道怎样才能在规定的时间获得最大的价值,但你是一个好心人,如果你帮助它,你的RP一定会暴涨的!
对于这个可以RP暴涨机会,你一定不会错过的是不是?
由于PFT不是机器人,所以他的体力并不是无限的,他不想摘很多的桃以至体力为0,而白白把桃给Life。同时PFT每次只能摘一棵桃树,摘桃花费时间体力,每棵桃树都可以摘K次(对于同一棵桃每次摘的桃数相同)。每次摘完后都要返回出发点(PFT一次拿不了很多)即Life的所在地(0,0){试验田左上角的桃坐标是(1,1)}。
PFT每秒只能移动一个单位,每移动一个单位耗费体力1(摘取不花费时间和体力,但只限上下左右移动)。
输入:
第一行:四个数为N,M,TI,A 分别表示试验田的长和宽,Life给PFT的时间,和PFT的体力。
下面一个N行M列的矩阵桃田。表示每次每棵桃树上能摘的桃数。
接下来N行M列的矩阵,表示每棵桃最多可以采摘的次数K。
输出:
一个数:PFT可以获得的最大的桃个数。
输入样例:
4 4 13 20
10 0 0 0
0 0 10 0
0 0 10 0
0 0 0 0
1 0 0 0
0 0 2 0
0 0 4 0
0 0 0 0
输出样例:
10
解题思路:因为他摘桃不需要消耗体力和时间,所以我们只需要求他的路程,当然要乘2因为他还要回去。然后他每走一部消耗的时间和体力是固定的,so我们可以把它优化为1维费用。and别忘了体力要减一,请看上文“他不想摘很多的桃以至体力为0”。
#include<cstdio>#include<iostream>using namespace std;int n,m,t1,t2,t,u,c[100001],w[100001],f[100001],s[100001],a,map[1001][1001];int way(int x,int y)//求路程{return (x+y)*2;}//记得要乘2,因为要返回int main(){scanf("%d%d%d%d",&n,&m,&t1,&t2);t=min(t1,t2-1);//只需求小的哪一项,因为花费是一样的for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { scanf("%d",&map[i][j]); }//读取价值u=0;for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { scanf("%d",&a); if (a!=0) { u++; w[u]=way(i,j); s[u]=a; c[u]=map[i][j]; }//存入背包 }for (int i=1;i<=u;i++)//循环物品数 for (int j=1;j<=s[i];j++)//循环选的次数 for (int k=t;k>=w[i];k--)//循环价值 f[k]=max(f[k],f[k-w[i]]+c[i]);//取最大值printf("%d",f[t]);//输出不解释}
- ssl1558-科技庄园【dp习题】
- [DP]科技庄园
- 洛谷P2760 科技庄园(dp)
- 科技庄园
- 科技庄园
- 【9922】科技庄园
- SSL P1558 科技庄园
- SSL_1558 科技庄园
- 【动态规划】【RQNOJ】科技庄园
- 科技庄园(动态规划)
- 科技庄园(动态规划)
- (ssl 1558)科技庄园
- SSL P1558 科技庄园 题目
- |Tyvj|动态规划|P1516 科技庄园
- SSL 1558——科技庄园
- 科技庄园(动规练习题)
- Codevs 3556 科技庄园==洛谷 P2760
- 《动物庄园》
- 查找最大元素
- Jsonp封装
- oracle数据库查询,sql没问题,数据库也有数据,方法没错,项目运行就是查不出数据
- 全球互联网未来发展九大趋势
- 酷科技 | HTC Vive可控制丰田人形机器人
- ssl1558-科技庄园【dp习题】
- 《android framework常用api源码分析》之Launcher 程序
- 命令行创建Vue项目结构
- mybatis mapper接口方法不能重载
- 生活小记67
- 解析Json中时间类型转化的问题
- ListView常用优化技巧
- Tensorflow实例:实现Word2Vec(Skip-Gram模式)
- halcon学习基础