贪心 题目集

news2024/9/30 3:19:30

任务安排问题

某个系统中有一个设备,该设备每次只能分配给一个任务使用,且只有当任务结束后才能再分配给另一个任务使用。 假设系统启动时间计为时间0点,预先有一份任务计划表,预定了每个任务的开始时间点和持续时间。 要求设计算法统计出该设备最多能够满足任务计划表中的多少个任务的使用请求。

贪心结束时间最早的任务

struct node{
	int start,duration,end;
};
bool cmp(node &a,node &b){
	if(a.end==b.end)return a.start<b.start;
	return a.end<b.end;
}
signed main(){
	cf{
		int n;cin>>n;
		node a[n];
		fer(i,0,n){
		cin>>a[i].start>>a[i].duration;
		a[i].end=a[i].start+a[i].duration;
		}
		sort(a,a+n,cmp);
		int cnt=1,nowend=a[0].end;
		fer(i,1,n){
			if(a[i].start>=nowend){
				cnt++;nowend=a[i].end;
			}
		}
		cout<<cnt<<endl;
	}
	return 0;
}

活动安排

在这里插入图片描述

struct node{
	int start,end;
};
bool cmp(node &a,node &b){
	if(a.end==b.end)return a.start<b.start;
	return a.end<b.end;
}
signed main(){
	
		int n;cin>>n;
		node a[n];
		fer(i,0,n){
		cin>>a[i].start>>a[i].end;
		}
		sort(a,a+n,cmp);
		int cnt=1,nowend=a[0].end;
		fer(i,1,n){
			if(a[i].start>=nowend){
				cnt++;nowend=a[i].end;
			}
		}
		cout<<cnt<<endl;
	
	return 0;
}

数列极差

小源的老师在黑板上写了一个由n个正整数组成的数列,要求小源进行如下操作:每次擦去其中的两个数a和b,然后在数列中加入一个数 a*b+1,如此下去直至黑板上剩下一个数为止。
在所有按这种操作方式最后得到的数中,最大的为max,最小的为min, 则该数列的极差定义为 M=max-min.
由于小源忙于准备期末考试,现请你帮助她,对于给定的数列,计算出相应的极差M。

max贪心升序队列,min贪心降序队列

signed main(){
	int n;cin>>n;
	int x;
	priority_queue<int,vector<int>,greater<int> > up;//升序优先队列
	priority_queue<int,vector<int>,less<int> > down;//降序优先队列
	fer(i,0,n){
		cin>>x;up.push(x);down.push(x); 
	}
	char zero;cin>>zero;
	int a,b;
	while(up.size()>1){
		a=up.top();up.pop();
		b=up.top();up.pop();
		up.push(a*b+1);
	}
	while(down.size()>1){
		a=down.top();down.pop();
		b=down.top();down.pop();
		down.push(a*b+1);
	}
	cout<<up.top()-down.top()<<endl;
	return 0;
}

钓鱼

在一条水平路边,有n个钓鱼湖,从左到右编号为1,2,…,n。庄dalao有H个小时的空余时间,他希望利用这个时间钓到更多的鱼。他从1出发,向右走,有选择的在一些湖边停留一定的时间(是5分钟的倍数)钓鱼。最后在某一个湖边结束钓鱼。庄dalao从第i个湖到第i+1个湖需要走5×T i 分钟路,还测出在第i个湖停留,第一个5分钟可以钓到F i 条鱼,以后每再钓5分钟,可以钓到的鱼量减少D
i ,若减少后的鱼量小于0,则减少后的鱼量为0。为了简化问题,庄dalao假定没有其他人钓鱼,也没有其他因素影响他钓到期望数量的鱼。请编程求出庄dalao最多能钓鱼的数量。

第一行一个整数n,表示湖的个数,不大于25 第二行一个整数H,表示庄dalao的空闲时间,不大于20
第三行有n个整数,依次表示每个湖第一个5分钟能钓到鱼的数量 ,不大于100
第四行有n个整数,依次表示以后的每5分钟钓鱼数量比前一个5分钟钓鱼数量减少的数量 第五行有n-1个整数,T i
表示由第i个湖到第i+1个湖需要花5×T i 分钟的路程 保证在int以内

3
1
4 5 6
1 2 1
1 2
35
struct node{
	int fish,reduce,time;
	bool operator<( const node& y) const
      { return fish < y.fish; }
};
signed main(){
	int n;cin>>n;
	int h;cin>>h;
	node lake[n];
	fer(i,0,n)cin>>lake[i].fish;
	fer(i,0,n)cin>>lake[i].reduce;
	fer(i,1,n)cin>>lake[i].time; 
	int mx=0;
	fer(i,0,n){//枚举最远可以到达的湖 
		int residue=h*12; //5分钟为一个单位 
		fer(j,1,i+1)residue-=lake[j].time;//去掉走路的时间 
		if(residue<=0)break;
		int total=0;
		priority_queue<node,vector<node>,less<node> > pq;//降序优先队列 
		fer(j,0,i+1)pq.push(lake[j]);
		while(residue>0&&pq.top().fish>0){
			node tmp=pq.top();pq.pop();
			total+=tmp.fish;
			residue--;
			tmp.fish-=tmp.reduce;
			if(tmp.fish>0)pq.push(tmp);//没鱼了就不用钓了 
		}
		mx=max(mx,total);
	}
	cout<<mx<<endl;
	
	return 0;
	
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[大二下]手把手1小时下载Pandoc

老规矩先给各位友友们提供参考解决方法,再说为啥是怎么和这哥们结缘的~ 为了能更加详细,小卓又卸载了重装了一遍!!! 所以麻烦各位佬, 能给个赞, 谢谢各位佬了,坦诚的说,因为友友们免费的点赞收藏,却是我写下去的动力~ 第一步:进入官网(如果没有科学上网的可能比较慢, 如果真的…

腾讯云 Ubuntu Desktop 22.04 桌面版

安装 Ubuntu Server 22.04 安装 Ubuntu Server 22.04重置登陆密码&#xff0c; 默认用户名 ubuntu 添加用户 不建议直接使用默认用户&#xff0c; 添加用户&#xff08;demodeom&#xff09; sudo adduser demodeom将 demodeom 添加到 sudoer 文件 sudo visudo在文件末尾添…

2023五一赶制个人系统:基于SpringBoot+MyBatisPlus+Vue+ElementUI前后端分离

小钊记前言 &#x1f351;一、背景&#x1f351;二、调研准备阶段&#x1f34a;2.1、项目-自己搭建&#x1f353; 搭建步骤 &#x1f34a;2.2、项目需求-自己X造&#x1f34a;2.2、数据模型设计 &#x1f351;三、开发阶段&#x1f351;四、renxiaozhao 1.0.0-alpha发布&#x…

BPMN2.0 任务-服务任务

服务任务是任务的一种,工作由软件自动完成,比如一个Web服务或者一个自动化的应用。 服务任务用于调用服务。 在flowable中分为java服务任务,用于调用java类,web服务任务用于同步的调用外部的web服务。 在Camunda是通过调用java代码或者为外部执行者提供一个工作单元来完…

真题详解(ICMP)-软件设计(六十五)

真题详解&#xff08;对象&#xff09;-软件设计&#xff08;六十四)https://blog.csdn.net/ke1ying/article/details/130459425 程序的三种基本控制结构&#xff1a;顺序、选择和重复。 在网络系统中&#xff0c;通常吧_____置于DMZ区。 答案&#xff1a;Web服务器 解析&am…

STL常用梳理——VECTOR常用接口及其迭代器实现

Vector篇 Vector介绍Vector实现1、定义默认构造函数使用实现 2、迭代器Iterator迭代器使用 3、空间增长问题使用实现 迭代器迭代器介绍迭代器实现 Vector介绍 vector是STL中容器之一&#xff0c;特性如下&#xff1a; vector是表示可变大小数组的序列容器。就像数组一样&#…

【python入门篇】你好python

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; Python入门&#xff0c;本专栏主要内容为Python的基础语法&#xff0c;Python中的选择循环语句…

软件测试实战,Web测试详细总结 (覆盖所有测试点),你要的都有

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Web自动化测试&…

Python 将 PDF 转换为 Word

大家好&#xff0c;我是水滴~ 在平时的工作中&#xff0c;我们总会希望将需要的 PDF 文件转换为 Word 文件&#xff0c;而市面上很多工具都是收费的&#xff0c;这无疑增加了我们的成本。 所以&#xff0c;我使用 Python 编写了一个转换代码&#xff0c;可以 将 PDF 转换为 W…

从远程桌面客户端提取明文凭证的工具RdpThief

导语&#xff1a;在本文中&#xff0c;我将描述我编写的一个工具&#xff0c;能使用API钩子从Microsoft RDP客户端提取明文凭据&#xff0c;而且如果是在已经受感染用户的权限下操作&#xff08;比如网络钓鱼导致&#xff09;&#xff0c;并且该用户已打开RDP会话&#xff0c;则…

elasticsearch 使用 RestAPI 操作索引库

1.mysql与elasticsearch 我们统一的把mysql与elasticsearch的概念做一下对比&#xff1a; MySQLElasticsearch说明TableIndex索引(index)&#xff0c;就是文档的集合&#xff0c;类似数据库的表(table)RowDocument文档&#xff08;Document&#xff09;&#xff0c;就是一条条…

如何从0到1落地自动化测试?何为成熟模型?测试老鸟的总结...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 过去十年&#xf…

离散数学_九章:关系(5)

&#x1f6a9;9.5 等价关系 1、等价关系&#xff08;Equivalence Relations&#xff09;等价关系等价的元素&#x1f4d8;例1&#xff1a;模m同余 &#x1f4d8;例2&#xff1a;字符串 &#x1f4d8;例3&#xff1a;整除 2、等价类&#xff08;Equivalence Classes&#xff09…

DP动态规划

1.背包问题 1.1 0/1背包 1.1.1经典做法 def solve(N,C): # 从左到右&#xff0c;从上到下 &#xff08;先种类&#xff0c;再体积&#xff09;for i in range(1,N1): # N种物品&#xff0c;先1种&#xff0c;再2种......for j in range(0,C1): # 当前背包体积if c[i]>j :…

武忠祥老师每日一题||定积分基础训练(四)

已知&#xff0c; ln ⁡ ( x 1 x 2 ) 为奇函数&#xff08;证明放在文章末尾&#xff09; \ln (x\sqrt{1x^2})为奇函数&#xff08;证明放在文章末尾&#xff09; ln(x1x2 ​)为奇函数&#xff08;证明放在文章末尾&#xff09; 所以&#xff0c; ∫ − 2 2 ln ⁡ ( x 1 …

13万字林业局信息化设计信息化及数据中心、森林防火平台建设方案

1.1.1 应用系统集成平台 集成平台起到“承下启上”的作用&#xff0c;“承下”是指其基于数据中心&#xff0c;提供数据关联、处理和转换等服务&#xff0c;“启上”是指其为上层应用系统提供数据和整合服务。此外&#xff0c;集成平台也为系统与外部系统、外部资源提供交换和…

基于micro-app+vue-element-admin实现微前端

简述 本文是在对之前搭建和学习micro-app的基础上的进一步研究学习。 因为我们目前项目使用的框架是vue-element-admin&#xff0c;所以还需要研究一下micro-app在vue-element-admin的使用方法。 关于micro-app在vue-element-admin的实现&#xff0c;百度什么也没找到&#xf…

二、Spring Cloud Alibaba环境搭建

一、依赖环境 SpringCloud Alibaba 依赖 Java 环境来运行。还需要为此配置 Maven环境&#xff0c;请确保是在以下版本环境中安装使用。 64 bit JDK 1.8;Maven 3.2.x。 spring-cloud-alibaba相关网址&#xff1a; 地址&#xff1a;https://github.com/alibaba/spring-cloud-…

常用HTML标签分享系列一

前言 HTML,超文本标记语言,由标签组成,分为单标签和双标签,每个标签的属性id唯一,但name不唯一,其基本结构为Dom(Document Object Mode 文档对象模型)树,如图: <html lang"en"> <head><!-- 头部内容 --> </head> <body><!-- 身体内…

Spark 任务执行流程

Driver启动&#xff0c;创建SparkContextSparkContext 向资源管理器注册&#xff0c;并向资源管理器申请运行 Executor资源管理器分配资源&#xff0c;然后资源管理器启动 ExecutorExecutor 发送心跳至资源管理器Executor 向 SparkContext 注册自己SparkContext 构建 DAG 有向无…