鱼塘钓鱼(fishing)

2023-11-10 02:59
文章标签 fishing 钓鱼 鱼塘

本文主要是介绍鱼塘钓鱼(fishing),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

鱼塘钓鱼(fishing)


时间限制: 1000 ms        内存限制: 65536 KB
提交数: 149     通过数:81

 

三种做法:

纯贪心做法

堆维护

DP

【题目描述】

有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表:

鱼塘编号每1分钟能钓到的鱼的数量(1..1000)每1分钟能钓鱼数的减少量(1..100)当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)11023214453206441654593鱼塘编号12345每1分钟能钓到的鱼的数量(1..1000)101420169每1分钟能钓鱼数的减少量(1..100)24653当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)3544

即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,……,第5分钟以后再也钓不到鱼了。从第1个鱼塘到第2个鱼塘需要3分钟,从第2个鱼塘到第3个鱼塘需要5分钟,……

给出一个截止时间T(T<1000),设计一个钓鱼方案,从第1个鱼塘出发,希望能钓到最多的鱼。

假设能钓到鱼的数量仅和已钓鱼的次数有关,且每次钓鱼的时间都是整数分钟。

【输入】

共5行,分别表示:

第1行为N;

第2行为第1分钟各个鱼塘能钓到的鱼的数量,每个数据之间用一空格隔开;

第3行为每过1分钟各个鱼塘钓鱼数的减少量,每个数据之间用一空格隔开;

第4行为当前鱼塘到下一个相邻鱼塘需要的时间;

第5行为截止时间T。

【输出】

一个整数(不超过231−1231−1),表示你的方案能钓到的最多的鱼。

【输入样例】

5
10 14 20 16 9
2 4 6 5 3
3 5 4 4
14

【输出样例】

76

【来源】


No

【算法分析】

 

我们现在假设最后在第i个鱼塘钓到鱼数目最多,那么用在路上的时间是固定的,原因:我们不会先跑到第i个鱼塘里钓一分钟然后返回前一个鱼塘里钓鱼,这样路上会消耗大量时间,不划算,还有就是我们再没有去到某个鱼塘前,鱼的数量不会减少。所以我们可以看出从左到右的顺序钓鱼,即一个人在1~i-1个鱼塘之间随便走动,只要尽可能选择鱼多的就行。其实这里不是模拟钓鱼过程,而是统计在各个鱼塘的钓鱼次数。

【代码实现】

#include<bits/stdc++.h>
using namespace std;
int main()
{int n,fish[101],dc[101],t[101],tot;cin>>n;for(int i=1;i<=n;i++)scanf("%d",&fish[i]);for(int i=1;i<=n;i++)scanf("%d",&dc[i]);for(int i=1;i<n;i++)scanf("%d",&t[i]);cin>>tot;int t1=0,maxx=0;for(int k=1;k<=n;k++)//枚举每个池塘为最后的钓鱼池塘{int time;time=tot-t1; //减去路程时间int ans=0;//计算鱼的总量int a[101];for(int i=1;i<=k;i++)a[i]=fish[i];//复制前几个鱼塘信息while(time>0){a[0]=0;int maxxx=0;for(int i=1;i<=k;i++)if(a[maxxx]<a[i])maxxx=i;if(maxxx==0) break;ans+=a[maxxx];//钓鱼a[maxxx]-=dc[maxxx];//鱼减少time--;}maxx=max(maxx,ans);t1+=t[k];//路程提前计算}cout<<maxx<<endl;return 0;
}

 

这篇关于鱼塘钓鱼(fishing)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380032

相关文章

钓鱼邮件真相追踪:XDR见招拆招!

钓鱼陷阱,财富“蒸发” 如果一家规模5000人、业务遍布全球的企业之中有一位员工不小心点进了一个钓鱼邮件,会发生什么……?终端失陷?数据泄露?失去客户信任? 最让人破碎的当然是……核心资产泄露,钱没了!! 人有失手,"鱼"有逃命 某大型零售企业财务部门小张收到一封看似来自公司财务部的邮件,由于内容与其实际工作情况相符,小张打开了邮件中的附件,并点击了附件里的下载链接

如何判断网站是不是钓鱼网站?

钓鱼网站的定义 钓鱼网站是一种网络欺诈手段,通过仿冒真实网站的外观和功能,诱使用户输入个人敏感信息,如用户名、密码、信用卡详情等。这些网站通常会通过电子邮件、短信或社交媒体等方式传播,诱导用户点击链接并在看似合法的界面上输入信息。钓鱼网站的设计往往与真实网站非常相似,使得用户难以辨认真伪。 钓鱼网站的危害 钓鱼网站的危害主要包括: 个人信息泄露:用户在钓鱼网站上输入的个人信息可能会被不法分

支付时怎么辨别网络钓鱼

网络钓鱼攻击的识别与应对 网络钓鱼攻击简介 网络钓鱼攻击是一种常见的网络犯罪手段,攻击者通过伪造合法的网站、电子邮件、短信等手段,诱骗用户提供个人敏感信息,如账号密码、银行卡号等,以达到非法获取财务或个人隐私信息的目的。 如何识别网络钓鱼攻击 注意网站的URL:在访问网站时,注意查看URL是否正常。钓鱼网站通常会使用与正版网站相似但稍有不同的URL,如拼写错误、域名后缀不同等。 警惕垃

什么是鱼叉式网络钓鱼? 定义与示例

鱼叉式网络钓鱼定义 鱼叉式网络钓鱼是一种网络钓鱼攻击,通常通过恶意电子邮件针对特定个人或组织。鱼叉式网络钓鱼的目的是窃取敏感信息(例如登录凭据)或用恶意软件感染目标设备。 鱼叉式网络钓鱼者会仔细研究目标,因此攻击似乎来自目标生活中值得信赖的发件人。鱼叉式网络钓鱼电子邮件使用社交工程技术来诱使受害者点击恶意链接或附件。一旦受害者完成预期操作,攻击者就可以窃取目标合法用户的凭据并进入网络而不被发现。

【第54课】XSS跨站Cookie盗取表单劫持网络钓鱼溯源分析项目平台框架

免责声明 本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。 文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具

请问不小心下载到了钓鱼软件怎么办?

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 问题描述   请问不小心下载到了钓鱼软件怎么办? 下载VPN的时候不小心下载了仿冒的应用,火绒提醒有病毒后就立刻禁止下载了,文件被火绒送进了隔离区,

浅谈红队攻防之道-CobaltStrike钓鱼攻击集锦

打个比方,一片大地上,躺着一群沉睡的人,远处就是火山,马上就要爆发了,你就像个闹钟,面对这些沉睡的人,你想把他们叫醒。 你持续不断地响着,有的睡得浅的人,被你叫醒了,跟你一块去叫醒众人,但是人数太多了,你们的声音太微弱了,叫醒的人毕竟有限,而且保不齐有的人嫌烦,时不时还踢坏两个。 那么有的闹钟,怕来不及,就拿自己的生命当做原料,化成了炸弹,一下就炸醒了一大片人。 那照你这么说,炸弹比闹钟厉害多了,

钓鱼的常见几种方式

钓鱼的多种方式 office钓鱼攻击 宏与宏病毒 # 宏宏是office自带的一种高级脚本特性,通过VBA代码,可以在office中去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中一些任务自动化# 宏病毒宏病毒是一种寄存在文档或模板的宏中的计算机病毒,打开这中文档,其中的宏就会被执行,宏病毒被激活,转移到计算机上 docx钓鱼攻击 # word远程模板执行宏利用w

如何有效防范钓鱼邮件

在当今数字化的时代,电子邮件已成为我们日常工作和生活中不可或缺的通信工具。然而,随着网络技术的不断发展,钓鱼邮件也日益猖獗,给个人和企业带来了严重的安全威胁。钓鱼邮件是一种网络欺诈手段,攻击者通过伪装成合法的机构或个人,诱骗收件人提供敏感信息,如用户名、密码、信用卡号等,或者诱导收件人点击恶意链接,下载恶意软件,从而达到窃取信息、实施诈骗或破坏系统的目的。因此,学会如何防范钓鱼邮件至关重要。

使用 GoPhish 和 DigitalOcean 进行网络钓鱼

配置环境 数字海洋VPS 我创建的丢弃物被分配了一个 IP 地址68.183.113.176 让我们登录VPS并安装邮件传递代理: ssh root@68.183.113.176apt-get install postfix 后缀配置中的点变量到我们在 DigitalOcean 中分配的 IP:mynetworks nano /etc/postfix/main.cf