Codevs 3556 科技庄园==洛谷 P2760
Life是codevs的用户,他是一个道德极高的用户,他积极贯彻党的十八大精神,积极走可持续发展道路,在他的不屑努力下STN终于决定让他在一片闲杂地里种桃,以亲身实践种田的乐趣,厉行节约,告诉人们节约的重要性!
春华秋实,在这个金秋的季节,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
【样例解释】
可以摘到1次(1,1)或1次(2,3)或1次(3,3),体力和时间不满足再摘桃了。
【数据范围】
对于M N TI A
10<=30%<=50
10<=100%<=100
对于K
10<=100%<=100
保证结果在longint范围内
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,t,a;
int map[][],g[],sum,c[],v[],f[];
int main()
{
scanf("%d%d%d%d",&n,&m,&t,&a);
t=min(t,a-);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
scanf("%d",&map[i][j]);
int k;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
scanf("%d",&k);
if(map[i][j])
{
sum++;
g[sum]=(i+j)*;v[sum]=k;
c[sum]=map[i][j];
}
}
for(int i=;i<=sum;i++)
{
for(int j=t;j>=;j--)
for(int k=;k<=v[i];k++)
{
if(j-k*g[i]>=)
f[j]=max(f[j],f[j-g[i]*k]+k*c[i]);
}
}
printf("%d",f[t]);
return ;
}
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,t,a;
int map[][],g[],sum,c[],v[],f[];
int main()
{
scanf("%d%d%d%d",&n,&m,&t,&a);
t=min(t,a-);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
scanf("%d",&map[i][j]);
int k;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
scanf("%d",&k);
if(map[i][j])
{
sum++;
g[sum]=(i+j)*;v[sum]=k;
c[sum]=map[i][j];
}
}
for(int i=;i<=sum;i++)
{
for(int j=t;j>=;j--)
for(int k=;k<=v[i];k++)
{
if(j-k*g[i]>=)
f[j]=max(f[j],f[j-g[i]*k]+k*c[i]);
}
}
printf("%d",f[t]);
return ;
}
思路:时间 体力看上去是个二维背包,但是由于没走一个格子都是消耗一点体力一点时间,我们可以min(t,a)做成一维背包,如果这里有树,记下他的时间(记得乘以2,来回嘛!),记下他的可以采摘次数和价值,然后跑一遍背包即可
Codevs 3556 科技庄园==洛谷 P2760的更多相关文章
- codevs——T1044 拦截导弹 || 洛谷——P1020 导弹拦截
http://codevs.cn/problem/1044/ || https://www.luogu.org/problem/show?pid=1020#sub 时间限制: 1 s 空间限制: 1 ...
- Codevs 3287 货车运输 == 洛谷P1967
3287 货车运输 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description A 国有 n 座城市,编 ...
- Codevs 1010 过河卒== 洛谷 1002
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同 ...
- 洛谷P1395 会议(CODEVS.3029.设置位置)(求树的重心)
To 洛谷.1395 会议 To CODEVS.3029 设置位置 题目描述 有一个村庄居住着n个村民,有n-1条路径使得这n个村民的家联通,每条路径的长度都为1.现在村长希望在某个村民家中召开一场会 ...
- 洛谷P1432 倒水问题(CODEVS.1226)
To 洛谷.1432 倒水问题 题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were co ...
- 洛谷 P2155 BZOJ 2186 codevs 2301 [SDOI2008]沙拉公主的困惑
题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...
- 洛谷P1650赛马与codevs 2181 田忌赛马
洛谷P1650 赛马 题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负 ...
- 洛谷P2668 斗地主==codevs 4610 斗地主[NOIP 2015 day1 T3]
P2668 斗地主 326通过 2.6K提交 题目提供者洛谷OnlineJudge 标签搜索/枚举NOIp提高组2015 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 出现未知错误是说梗啊 ...
- codevs 1048/洛谷 1880:石子归并
题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1].问安排怎样的合并顺序,能够使 ...
随机推荐
- C/S WinForm自动升级
这二天刚好完成一个C/S 自动升级的功能 代码分享一下 /// <summary> /// 版本检测 /// </summary> public class ...
- AJPFX总结之Socket编程
一.Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换. 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机的 ...
- 笔记《精通css》第2章 选择器,注释
第2章 选择器,注释 1.常用选择器(id选择器,类选择器,类型选择器,后代选择器,伪类选择器(文档结构之外)) 通用选择器(*{ }) 高级选择器(子选择器,相邻同胞选择器,属性选择器) ...
- Android(java)学习笔记175:Android进程间通讯(IPC)之AIDL
一.IPC inter process communication 进程间通讯 二.AIDL android interface defination language 安卓接口定义语言 满 ...
- Android(java)学习笔记169:服务(service)之为什么使用服务
1.服务 service 长期在后台运行的进程,一般没有应用程序界面 2.进程线程和应用程序之间的关系 应用程序开启,系统启动一个Linux进程,所有的组件都是运行在同一个进程的同一个线程(mai ...
- iview table 普通表格样式
iview table 普通表格样式 https://run.iviewui.com/UvLFPMb0 <template> <table> <thead> < ...
- k8s部署测试实例
查看运行中pod,并运行一个容器 [root@mast-1 k8s]# kubectl get pods No resources found. [root@mast-1 k8s]# kubectl ...
- Java Web 之 Jsp 常用语法总结
一.小脚本语法 <% code fragment %> 语法编写为XML的形式,效果相同,如下所示: <jsp:scriptlet> code fragment </js ...
- 一丶webservice执行存储过程
返回值组合: json返回 StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("\&qu ...
- 【2019-5-26】python:字典、常用字符串处理方法及文件操作
一.数据类型:字典 1.字典: 1.1定义字典:dict={'key':'value'} 1.2字典与列表相比,字典取值快,可直接找到key 1.3字典是无序的,不能根据顺序取值 1.4多个元素用逗号 ...