ccpc网络赛1008 Fishing Master_fishing masteron超时-程序员宅基地

技术标签: ACM  

题目:

题目大意: 

就是小学学的那种,即烧水,又扫地,还浇花,求所用的时间最短的那种时间合理分配问题。

第一行给出所需测试的样例数,第二行给出鱼的条数和抓每条鱼所需时间,第三行给出煮每条鱼所用的时间。抓鱼的同时不能放鱼,但是可以超时煮鱼。求出抓完所有鱼并且煮熟所需的最短时间。

思路:

给出的标准题解思路是这样婶儿滴:

 为了锻炼寄几的表达能力呢,我就用自己的语言再复述一遍: 就是先求出在不耽误额外抓鱼时间的同时,利用煮鱼时间抓到的鱼的总数。如果这个总数大于所需抓鱼的数量,所需的总时间就是煮完所有鱼的时间;如果这个总数小于所需抓鱼的数量,就将煮鱼同时抓鱼所剩时间按照从大到小排序,总时间再加上(捕鱼-所剩时间)。emmm貌似并没有得到锻炼,还是好混乱

方法就是贪心。

 

反思:就是菜呗,还能说啥    ┑( ̄Д  ̄)┍

ACcode:

#include <stdio.h>
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
int tp[100005];
int yu[100005];
void init()
{
	memset(tp,0,sizeof(tp));
	memset(yu,0,sizeof(yu));
}
bool cmp(int a,int b)
{
	return a > b;
}
int main()
{
	long long t;
	scanf("%d",&t);
	while(t--)
	{
		init();
		long long n,k;
		scanf("%d%d",&n,&k);
		long long ans=0;//ans存结果,即所需的抓鱼+煮鱼的最短时间 
		long long num=0;//num存抓住的鱼的条数 
		for(int i=0;i<n;i++)
		{
			scanf("%d",&tp[i]);
			ans+=tp[i];//把煮鱼的时间全部加上 
			yu[i]=tp[i]%k;//yu数组存每次煮鱼但没有抓鱼的时间 ,即剩余时间 
			num+=tp[i]/k;//num现在为煮鱼时抓到的鱼的条数 
		}
		ans += k;
		num++;//将最初抓的那条鱼加上 
		if(num>=n)
		{
			
			printf("%lld\n",ans);
		}//煮鱼时间可以完全覆盖抓鱼时间,此时没有浪费额外时间 
		else
		{
			sort(yu,yu+n,cmp);
			for(int i=0;i<n-num;i++)
			{
				ans+=k-yu[i];
			}
			
			printf("%lld\n",ans);
		}//有额外浪费时间,最大限度利用煮鱼时间 
	}	
}

注意:1.cin,cout会T           2.ans数据类型要为long long不然结果会越界

心情:我现在打出zhuy出来的都不是注意而是煮鱼了,真是鱼煮多了。。。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44587145/article/details/100049159

智能推荐

栈——栈的定义及基本操作(初始化、判空、进栈、出栈、遍历栈、销毁栈等)-程序员宅基地

文章浏览阅读7.6w次,点赞240次,收藏1.6k次。文章目录栈的定义栈的存储栈上的基本操作初始化判空操作进栈操作出栈操作读栈顶元素遍历栈销毁栈完整代码及实例共享栈栈的定义栈(Stack)是只允许在一端进行插入或删除操作的线性表。栈的示意图:栈顶Top:线性表允许插入和删除的那一端。栈底Bottom:固定的,不允许进行插入和删除的另一端。 假设某个栈S={a1,a2, … ,an},如上图所示,则a1为栈底元素,an为栈顶元素。由于只能在栈顶进行插入和删除操作,故进栈顺序为a1,a2, … ,an,出栈顺序为an, … ,a2,a1。故栈的操_栈

Vue数据深拷贝方法_vue中的深拷贝-程序员宅基地

文章浏览阅读6k次。Vue项目 父组件向子组件传递数据,子组件采用el-form 对数据进行绑定,因为数据绑定是双向的,对数据 进行更改后,造成了其他依赖数据的组件显示不正确的情况,所以考虑对数据进行深拷贝,方法如下function judgeType (obj) { // tostring会返回对应不同的标签的构造函数 const toString = Object.prototype.toStri..._vue中的深拷贝

CentOS更新Kernel,删除多余Kernel 以及开启BBR_kernel $(uname -r)-程序员宅基地

文章浏览阅读775次。CentOS7开启BBR★更新版本:uname -r 显示操作系统的发行编号。如果前两位数大于4.9.*******不需升级系统否则打开www.elrepo.org导入公钥rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装在 ELRepo 中有两个内核选项,一个是 kernel-lt(长期支持版本),一个是..._kernel $(uname -r)

conda安装pynio pyngl卡住_安装pynio引擎-程序员宅基地

文章浏览阅读1.2k次。conda安装pynio pyngl记录一下今天的安装经历,在使用conda安装pynio和pyngl时,在python3.7.7环境下,在终端输入conda create --name pyn_env --channel conda-forge pynio pyngl时,老是卡在solving environment,改变服务器才知道原来是与镜像的设置有关系,原本使用的是清华的镜像,后来删掉清华镜像,使用默认的镜像则成功。欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器_安装pynio引擎

Struts2 文件上传大小限制_struts2上传文件大小限制-程序员宅基地

文章浏览阅读5k次。struts2 上传框架有COS,pell,Common-FileUpload等几种,可以通过配置struts.properties中配置,如下:struts.multipart.parser=cosstruts.multipart.parser=pellstruts.multipart.parser=jakarta //Struts 2 默认使用Jakarta的Common-File_struts2上传文件大小限制

Apollo Planning模块源代码分析_apollo开源代码-程序员宅基地

文章浏览阅读3.7w次,点赞78次,收藏426次。严正声明:本文系作者davidhopper原创,未经允许,严禁转载!阿波罗项目(https://github.com/ApolloAuto/apollo)规划(Planning)模块位于命名空间:apollo::planning,其作用在于构建无人车从起点到终的局部行驶路径,具体而言,就是给定导航地图、导航路径、当前定位点、车辆状态(包括:位置、速度、加速度、底盘)、 周边目标的感知及预测信息..._apollo开源代码

随便推点

nginx 如何获取用户的真实IP 之realip模块_real_ip_header: field | x-real-ip | x-forwarded-fo-程序员宅基地

文章浏览阅读1.2k次。如果访问的服务器有CDN,那么CDN会获取到用户的真实IP,将用户的真实IP封装到X-Forwarded-For中,在设置到X-Real-IP中X_Forwarded_For:根据访问顺序,依次添加IP地址,也就是记录代理信息X_Real_IP:一般只记录真实发出请求的客户端IP..._real_ip_header: field | x-real-ip | x-forwarded-for |

关于PDFBox读取Identity-H编码的乱码问题,附pdf-程序员宅基地

文章浏览阅读3.8k次。软件版本:pdfbox-0.8.0-incubatingPDF转换软件:Adobe Acrobat6.0,Foxit PDF Creator问题描述:用比较专业的Foxit PDF Creator转换没有问题,用Acrobat转换时,转换出的pdf可以正常用Adobe Reader打开,但是用pdfbox打开出现乱码。转换方法,打开word文件,选择打印,选择打印机如图转换后可..._identity-h编码

密码技术学习一:密码-程序员宅基地

文章浏览阅读706次。本文通过学习《图解密码技术》总结了一下基础密码方面的知识,重点对对称密码和公钥密码及非对称密码做了讲解,介绍了常见的密码算法及概念如DES、AES、混合密码系统等_密码技术

Android开发之openFileInput和openFileOutput_android openfileinput-程序员宅基地

文章浏览阅读779次。openFileOutput()首先给大家介绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。public void save() { try { FileOutputStream outStream=this.openFileOutput(“a.txt”,Context.MODE_WORLD_READABLE);..._android openfileinput

用计算机计算棋盘上麦粒,C棋盘上的麦粒 ——用电子表格自动计算 教学设计...-程序员宅基地

文章浏览阅读1.5k次。C棋盘上的麦粒——用电子表格自动计算一、教学目标知识与技能:1、能够使用自动填充柄自动生成相邻区域的计算公式进行计算。2、能够利用函数功能操作求和、求平均值、最大最小值的方法。3、掌握输入公式的书写规则、理解公式中含有单元格名的写法和优点。过程和方法:1、利用网站和微课等资源自学电子表格计算的基本方法和技巧,体验知识获取方法的多样性,提高自学能力;2、能在学习过程中能进行积极的思考与合作交流;3、..._棋盘上的麦粒——excel表格数据计算》说课课件.pptx

springsecurity+oauth2.0分布式认证授权案例-工程搭建1_spring security oauth2搭建-程序员宅基地

文章浏览阅读938次。一 父工程搭建1.1 工程创建工程创建父工程,然后配置pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/._spring security oauth2搭建

推荐文章

热门文章

相关标签