题目描述:

  每组数据给你n个胡,h小时时间,每个湖一次可钓鱼数量,每个湖每次钓鱼后下次可钓鱼数量的减少量,从每个湖到下一个湖所需时间。求最大钓鱼量。

  要注意的是,刚开始在第一个湖,每次移动只能往下一个湖移动,每次钓鱼数量最多可减少到0。

  若多种情况钓鱼数量一样,则取前面的湖钓鱼次数最多的。

思路:

  先把时间统一。

  可以按跑了多少个湖分n种情况,也就是最后呆在哪个湖。

  对于每一种情况,减去跑路的时间,总的钓鱼的时间是一样的,问题就变成了,怎么在跑过的湖分配时间,使效益最大。

  贪心,每次取最大值,湖的状态更新之后,再取最大值......

  一直到时间耗光,上面的值相加就是这种情况下的钓鱼最大数量。

  然后每种情况取最大值便是最终答案,另外,每种情况还需要一个数组保存每个湖钓鱼次数。

  最后要注意的是,钓鱼数量一样取前面的湖钓鱼次数最多的,若当前每个湖钓鱼数量均为0,可以直接把剩余时间全部投入第一个湖,结束此次过程。

#include<iostream>
#include<cstdio>
using namespace std; int n,h,t[],f[],d[],ans[]; int main()
{
while(cin >> n && n)
{
cin >> h;
h = h*;
int i,j;
for(i = ;i <= n;i++) cin >> f[i];
for(i = ;i <= n;i++) cin >> d[i];
for(i = ;i < n;i++) cin >> t[i];
int sum = -;
for(i = ;i <= n;i++)
{
int point,temp_h = h,temp_sum = ,temp_f[],temp_ans[] = {};
for(j = ;j <= n;j++) temp_f[j] = f[j];
while(temp_h)
{
int maxf = ;
for(j = ;j <= i;j++)
{
if(temp_f[j] > maxf)
{
maxf = temp_f[j];
point = j;
}
}
if(maxf)
{
temp_ans[point] += ;
temp_sum += temp_f[point];
if(temp_f[point] >= d[point])
temp_f[point] -= d[point];
else
temp_f[point] = ;
}
else
{
temp_ans[] += temp_h;
break;
}
temp_h -= ;
}
if(h > t[i]*)
{
h -= t[i]*;
}
else
{
h = ;
} if(temp_sum > sum)
{
for(j = ;j <= n;j++)
{
ans[j] = temp_ans[j];
}
sum = temp_sum;
}
}
for(i= ;i < n;i++) cout << ans[i] << ", ";
cout << ans[n] << endl;
cout << "Number of fish expected: " << sum << endl;
cout<<endl;
}
return ;
}

POJ_1042_贪心的更多相关文章

  1. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1383  Solved: 582[Submit][St ...

  2. HDOJ 1051. Wooden Sticks 贪心 结构体排序

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  3. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]

    1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 786  Solved: 391[Submit][S ...

  5. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  6. 【BZOJ-4245】OR-XOR 按位贪心

    4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 486  Solved: 266[Submit][Sta ...

  7. code vs 1098 均分纸牌(贪心)

    1098 均分纸牌 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解   题目描述 Description 有 N 堆纸牌 ...

  8. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心

    SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...

  9. 【贪心】HDU 1257

    HDU 1257 最少拦截系统 题意:中文题不解释. 思路:网上有说贪心有说DP,想法就是开一个数组存每个拦截系统当前最高能拦截的导弹高度.输入每个导弹高度的时候就开始处理,遍历每一个拦截系统,一旦最 ...

随机推荐

  1. 小小知识点(二十三)circularly symmetric complex zero-mean white Gaussian noise(循环对称复高斯噪声)

    数学定义 http://en.wikipedia.org/wiki/Complex_normal_distribution 通信中的定义 在通信里,复基带等效系统的噪声是复高斯噪声,其分布就是circ ...

  2. 如何验证docker-compose安装成功

    安装过程及如何验证docker-compose安装成功 步骤1: 通过运行 curl 从GitHub上进行安装下载 sudo curl -L "https://github.com/dock ...

  3. Date类与日期格式

    Date类概述: 表示特定的瞬间,精确到毫秒. Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒).Date(long date)分配 Date 对象并初始化此对象,以表 ...

  4. Faster Rcnn训练自己的数据集过程大白话记录

    声明:每人都有自己的理解,动手实践才能对细节更加理解! 一.算法理解 此处省略一万字.................. 二.训练及源码理解 首先配置: 在./lib/utils文件下....运行 p ...

  5. cogs 1829. [Tyvj 1728]普通平衡树 权值线段树

    1829. [Tyvj 1728]普通平衡树 ★★★   输入文件:phs.in   输出文件:phs.out   简单对比时间限制:1 s   内存限制:1000 MB [题目描述] 您需要写一种数 ...

  6. cogs 886. [USACO 4.2] 完美的牛栏 二分图 匈牙利算法

    886. [USACO 4.2] 完美的牛栏 ★★☆   输入文件:stall4.in   输出文件:stall4.out   简单对比时间限制:1 s   内存限制:128 MB USACO/sta ...

  7. 幽灵java进程引起的: FATAL ERROR in native method

    FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT( ...

  8. 简述http协议及抓包分析

    1:HTTP请求头和响应头的格式 1:HTTP请求格式:<request-line><headers><blank line>[<request-body&g ...

  9. python+opencv中最近出现的一些变化( OpenCV 官方的 Python tutorial目前好像还没有改过来?) 记一次全景图像的拼接

    最近在学习过程中发现opencv有了很多变动, OpenCV 官方的 Python tutorial目前好像还没有改过来,导致大家在学习上面都出现了一些问题,现在做一个小小的罗列,希望对大家有用 做的 ...

  10. wtforms 钩子函数

    参考: https://www.cnblogs.com/wupeiqi/articles/8202357.html class LoginForm(Form): name = simple.Strin ...