poj1042 贪心

POJ1042解题报告,很简单的贪心枚举 POJ 1042题目,老师布置的作业, #include #include #include #include #define Max 105 #define Inf 1<<30 int fish[Max],dec[Max],cost[Max]; int time,n,best,aim[Max]; int now,cfish[Max],ctime,record[M 阅读详情

整个一挫题。

我用优先队列贪心,需注意的是排序,以及湖的鱼数小于等于零时为零。

#include <iostream>
#include <queue>
using namespace std;
struct data {
       int f,d,id;
}a[30],b;
int n,t,tran[30],x,ans,maxi,save[30],tmp[30],tt;
priority_queue <data> q;
bool operator<(data a,data b) {
     if (a.f==b.f) return a.id>b.id;
     else return a.f<b.f;
}
int main() {
    while (~scanf("%d",&n)) {
          if (n==0) break;
          scanf("%d",&t);
          t *= 12;
          for (int i=1;i<=n;i++)
              scanf("%d",&a[i].f);
          for (int i=1;i<=n;i++) {
              scanf("%d",&a[i].d);
              a[i].id = i;
          }
          tran[1] = 0;
          for (int i=2;i<=n;i++) {
              scanf("%d",&x);
              tran[i] = tran[i-1] + x;
          }
          
          ans = -1;
          memset(save,0,sizeof(save));
          for (int i=1;i<=n;i++) {
              maxi = 0;
              memset(tmp,0,sizeof(tmp));
              tt = t - tran[i];
              while (!q.empty()) q.pop();
              for (int j=1;j<=i;j++)
                  q.push(a[j]);
              while (tt>0) {
                    b = q.top();
                    q.pop();
                    tt--;
                    maxi += b.f;
                    tmp[b.id]++;
                    b.f -= b.d;
                    if (b.f<=0) b.f = 0;
                    q.push(b);
              }
              if (maxi>ans) {
                            ans = maxi;
                            for (int j=1;j<=i;j++)
                                save[j] = tmp[j];
              }
          }
          
          for (int i=1;i<n;i++)
              printf("%d, ",save[i]*5);
          printf("%d\n",save[n]*5);
          printf("Number of fish expected: %d\n\n",ans);
    }
    return 0;
}


POJ1328——Radar Installation、POJ1042——Gone Fishing、POJ1456——Supermarket(贪心) 例如,考虑乘积 Prod={a,b,c,d},其中 (pa,da)=(50,2),(pb,db)=(10,1),(pc,dc)=(20,2) 和 (pd,dd)=(30,1)。这是一个典型的区间覆盖问题。可以将问题转化为在不同的终止湖的情况下,如何分配剩余的钓鱼时间,使得钓到的鱼总数最大。一组产品以整数 0 <= n <= 10000 开头,这是集合中的产品数量,然后是 n 对整数 pi di,1 <= pi <= 10000 和 1 <= di <= 10000,指定第 i 个产品的利润和销售截止日期。 阅读详情

相关推荐

poj1042Gone Fishing 贪心

Gone Fishing Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 34616   Accepted: 10727 Description John is going on a fishing trip. He has h hours available (1

. 5万+

poj_1042 贪心算法

poj 1042 gone fishing 题目要求:    由有n个湖, 按照顺序排列,一个人从第一个湖向最后一个湖行进(方向只能从湖0到湖n-1),途中可以在湖中钓鱼。在每个湖中钓鱼时,开始的5分钟内可以钓到 f[i] 条,之后每5分钟钓到的鱼数目递减 d[i] ,且每两个相邻的湖的距离 t[i] 给出(t[i] 表示 由第 i 个湖向第 i + 1个湖行进在路上花费5分钟的倍数的时间, ...

weixin_34228617的博客 831

Windows10下RTABMAP+T265实现三维建图

win10+rtabmap+t265扫描地形

Suxiang1997的博客 3486

poj1042(贪心+枚举)

题目链接:https://vjudge.net/problem/POJ-1042 题意:给n个湖,给出每个湖第一次打捞时鱼的数量f[i],每单位时间鱼减少的数量d[i],从湖i到湖i+1用时t[i],在12×h个单位时间内,求最多能获得多少鱼。在获得鱼数量相同的情况下,选择在湖1呆时间最长的方案,若在湖1呆的时间一样,则选呆在湖2时间最长的方案...输出在每个湖呆的时间和最多获得鱼的数量。 思...

weixin_34233679的博客 1022

SAP 财务快速记账之—G/L Item Fast Entry

SAP FICO 运维解决方案

lijinbao171022的博客 1647

Python小白也能搞定!用you-get一键下载B站视频合集的保姆级教程

本文为Python新手提供了使用you-get工具一键下载B站视频合集的完整教程。从环境配置、基础下载操作到高级批量下载技巧,详细介绍了如何利用这个开源工具高效获取视频资源,包括解决常见问题和实用优化建议,帮助用户轻松实现离线学习。

weixin_42544663的博客 458

POJ 1042(枚举 + 优先队列)(好像比DP要快点)

/* 一,用枚举加优先队列的话,要注意以下一些地方,(搞的重写,才解决的) a, 注意,当总钓鱼数为0时,所有时间,放到第一个湖中; b, 可以把题目中DISCUSS 里的一些先人尝试过的数进行测试;总比自己去想测试数据要好一些; */ #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstring&gt...

julicliy的博客 517

四旋翼无人机数学模型推导

本周开始进行四旋翼无人机的学习工作,首先来进行四旋翼无人机的数学模型推导工作。。 四旋翼动力学数学模型 坐标变换 介绍四旋翼数学模型之前,首先引入坐标变换的概念,定义两个坐标系惯性坐标系{E},以及机体坐标系{B},惯性坐标系就相当于在地面建立的、静止不动的坐标系,也是我们操纵无人机所在的空间,而机体坐标系是建立于四旋翼机体之上,随着四旋翼姿态变换而变化,所以建立一种地面上的惯性坐标系与四旋翼机体坐标系之间的转换关系,就有这个必要。 对于惯性坐标系{E},以及机体坐标系{B},它们之间的转换关系

BiuBiuSun的博客 1万+

poj1042(枚举+贪心 C语言)

题目链接:http://poj.org/problem?id=1042           题目意思:john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个池塘,所有的池塘沿着一条单向路顺序排列(john每在一个池塘钓完鱼后,他只能走到下一个池塘继续钓),john必须从1号池塘开始钓起,但是他可以在任何一个池塘结束他此次钓鱼的行程。john在每个池塘中每5分钟钓的鱼数(此题中以

鸟 的 天 空 2611

MZI and MI Optical Waveguide(马赫曾德与迈克尔逊光波导)

注意,这里的 “镜子” 并不是真的在波导中做一个镜子出来,而是通过使用一个 1x2 的 MMI 结构将 MMI 输出的两个端口连接起来形成一个 “宽带镜子”。对于这里形成镜子的详细原理,后面有时间了我们再做更加详细地介绍。,它由一个 splitter 构成和两个仿佛带有 “镜子” 的臂组成。相比较于 MZI,光波可以在它的臂中传输,最终从进光口处出去得到相长或者相消干涉,很明显,在。)的折射率,从而使得两个臂上产生的相位差值不同,最终得到相长或者相消干涉的结果。这里,给大家介绍一下。,它更像是一个折叠的。

u011699626的博客 2450

工业视觉实战:用摄像头+AI高精度测量钢板尺寸(附深度分析)

摘要: 钢铁制造业正加速采用基于摄像头与深度学习的视觉测量技术,以取代传统人工测量,实现钢板长、宽、高(厚)的非接触、高精度在线检测。核心方案包括单目视觉(低成本但受限于变形)、双目/多目立体视觉(可精确测量变形钢板)及3D激光扫描(微米级精度)。系统精度受硬件(相机分辨率、镜头)、算法(亚像素技术)及环境稳定性共同影响,综合精度可达±0.1mm。实战中需重点解决热膨胀(需红外测温实时补偿)和钢板变形(必须采用三维方案)两大挑战,并通过工程化设计(散热、防振)确保系统可靠运行。该技术需融合光学、机械与算法,

数字人生 391

poj1042

题目:http://poj.org/problem?id=1042 题解:时间可以分为两部分,一部分是在路上的时间,一部分是用于钓鱼的时间,花在路上的时间最多是从第一个池塘到最后一个池塘的时间,所以用总时间减去从第一个池塘到最后一个池塘路上的时间,就是用于钓鱼的时间,,,,要求可能调到的最多的鱼,首先求处从第一个池塘到第i个池塘能调到的最多的鱼。然后让i从0到n模拟,就是说分别求出从第一个池塘...

AD钙AD钙的博客 3367

税务某局 webpack 登录接口逆向分析

我们再回到接口逻辑去看一下,发现每次请求前,还有两个接口,getpublickey和sendsm4,这里分析了一下调用逻辑,sm4这个接口用到一个参数是由publickey返回的一个参数而来,这个参数又经过内部加密处理,我们找到这个参数加密的地方,大概是在这个位置。我们还是顺着逻辑将加载器扣下来,然后用一个变量去接收,有了加载器,我们直接把加密代码扣下来做下处理,把一些用到的参数整理下如下。打上断点分析后,_utils_getuuid这个很长的变量也是加载器的一个函数,我们将这段代码也扣下来,如下。

码王吴彦祖的博客 402

poj 1042 贪心

自己的代码和算法功底还不错,明确了算法后,20分钟敲完这么恶心的程序,调了几个小bugAC。//============================================================================ // // > File : poj1042.cpp // > Author : flowertr

270

Apifox接口测试+自动化测试

Apifox 接口测试+自动化测试快速入门!

程序员小杨哥的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【贪心】poj 1042

http://poj.org/problem?id=1042 #pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #include #include #include #include #include #include #i

学无纸巾 810

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

poj 1042 Gone Fishing(贪心)

Description John is going on a fishing trip. He has h hours available (1 <= h <= 16), and there are n lakes in the area (2 <= n <= 25) all reachable along a single, one-way road. John starts at lak

ZAQ的博客 593

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

poj1042 动态规划 贪心

题目大意:一个人去钓鱼,有n个池塘,第i个池塘初始时可以钓到F[i]条鱼,但是每过一个时间单位(这里是5分钟),池塘里的鱼就会减少d[i]条,从第i个池塘行走到第i+1个池塘需要花t[i]个时间单位,问这个人在规定的h小时内最多可以钓到多少鱼,以及在每个池塘待多长时间(如果有几种方案,尽量使待在前面的池塘的时间久一些)。 最近在做一些动态规划的题目,发现动态规划的题目很难,特别是如何

perfectjob的专栏 705

poj1042(贪心+优先队列)

题目链接:poj1042 /*poj 1042 Gone Fishing 贪心+优先队列 题意:John现有h个小时的空闲时间,他打算去钓鱼。钓鱼的地方共有n个湖,所有的湖 沿着一条单向路顺序排列(John每在一个湖钓完鱼后,他只能走到下一个湖继续钓), John必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。 此题以5分钟作为单位时间,John在每个湖中每5分钟钓的

no pains,no gains 1271

POJ-1042 Gone Fishing (贪心法求最佳钓鱼方案

John is going on a fishing trip. He has h hours available (1 <= h <= 16), and there are n lakes in the area (2 <= n <= 25) all reachable along a single, one-way road. John starts at lake 1, but he can finish at any lake he wants. He can only travel from on

今天天气不错 3190

枚举+贪心*为何我如此傻逼* POJ1042 Gone Fishing!

POJ1042 钓鱼计划 题目大意不再赘述。

437

POJ 1042 贪心 DP(钓鱼问题)

http://poj.org/problem?id=1042 被这个题虐的一塌糊涂啊,时间有两个世纪那么长 有DP和贪心两种解法 下面DP 状态转移方程 dp[i][j]=Max(dp[i][j],dp[i-1][j-ti[i]-k]), 但是因为memset(dp,-1,sizeof(dp)), 所以写的时候是 dp[i+1][j+K+ti[i]]=Max(dp[i][j]+su...

weixin_30378311的博客 221

poj1042 枚举+贪心算法

[code="java"] import java.io.BufferedInputStream; import java.util.Arrays; import java.util.Scanner; /** * poj1042 枚举+贪心算法 * @author NC */ public class Poj1042 { public static void...

nc200830740306的专栏 378

POJ 1042 钓鱼问题 贪心枚举及动态规划

<br /> <br />题意描述:<br />john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓), john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。john在每个湖中每5分钟钓的鱼数(此题中以5分钟作为单位时间),随时间的增长而线性递减。而每个湖中头5分钟可以钓到的鱼数以及每个湖中相邻5分钟钓鱼数的减少量,input中均会给出。并且John从任意一个湖走到它下一个湖的时

Coding for Dreams 6072
上一篇: poj1037 DP
下一篇: poj1703 并查集
琴空
博客等级 码龄16年 48粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值