hdu4864 Task

Linux磁盘扩容实战:用parted命令无损扩展/data分区(附常见报错解决方案) 本文详细介绍了在Linux生产环境中使用parted命令对已挂载的/data分区进行在线磁盘扩容的完整实战流程。通过风险评估、状态检查、parted工具深度解析及实战演练,指导用户安全完成动态扩容,并提供了常见报错如'Partition is being used'、MBR 2TB限制等的解决方案,确保业务不中断、数据不丢失。 阅读详情

原题: http://acm.hdu.edu.cn/showproblem.php?pid=4864

大神解题报告: http://www.cnblogs.com/xingxing1024/p/5273176.html#3749458

//hdu 4864
//题目大意:公司现有n个任务要完成,每份任务有它的花费时间xi,等级yi,而公司有m机器,每台机器也有它的限制时间为xi,等级为yi,每台机器只能处理时间和等级都不大于自己的任务
//          每台机器每天只能完成一个任务,每个任务也只能被一个机器完成,完成任务task(xi,yi)可以获得金钱(500*xi+2*yi),已知现在有n个任务和m台机器,公司首先想要保证每天完成最多的任务,如果有许多方案可以满足,那么最多可以赚多少钱? 
//思路:这里我们借助一个数组Level[i] 记录等级为i的机器的数量 
//     ①题目说,每个任务的价值是(500*xi+2*yi), xi(0<xi<1440),yi(0=<yi<=100),所以我们可以知道 只要xi大,则任务的价值就大,所以我们先按价值对任务排序,由大到小 
//     ②假设有2个任务t1,t2:当遍历到任务t1时,把时间和等级都>=t1的机器加入到level中来,接着在level数组中找等级最接近的机器处理掉t1,成功处理金钱ans增加 
//     ④当遍历任务t2时,把时间和等级都>=t2的机器加入到level中来,我这里叫他们做"新机器“,上一层留下的旧机器还放在level数组中,如果旧机器无法处理t2(时间绝对是够的,但是可能等级不够),那么新机器就可以处理t2,如果没有新机器就业无法处理 
//为何选择这个方案??按上面的过程,假如mach1处理了t1, 到了t2的时候,如果mach1也可以处理t2,但是t1的价值比t2大,所以可以保证金钱最多,如果mach1不能处理t2,那么就保证了处理的任务最多。所以这个方案是最优的。 
//不要使用qsort,否则报错... 
#include<iostream>
#include<cstdio> 
#include<algorithm>
#include<memory.h>
using namespace std;
typedef long long ll;
struct Machine  //机器 
{
	ll time;
	ll level;
}mach[100001];
struct Task 
{
	ll time;
	ll level;
}task[100001];
int cmp1(Task a,Task b)//按价值从大到小 
{
	if(a.time!=b.time){
		return a.time>b.time;
	}else{
		return a.level>b.level;
	}
}
int cmp2(Machine a,Machine b)//先按时间再按等级 由大到小 
{
	if(a.time!=b.time){
		return a.time>b.time;
	}else{
		return a.level>b.level;
	}
}
int level[101];
int main()
{
	int n,m;
	int i,j;
	ll k;
	while(~scanf("%d %d",&n,&m))
	{
		for(i=0;i<n;i++)
		{
			scanf("%lld %lld",&mach[i].time,&mach[i].level);
		}
		for(i=0;i<m;i++)
		{
			scanf("%lld %lld",&task[i].time,&task[i].level);
		}
		sort(task,task+m,cmp1);
		sort(mach,mach+n,cmp2);
		ll ans=0;//最后的金钱 
		int cnt=0;//处理的任务数 
		memset(level,0,sizeof(level));
		j=0;
		for(i=0;i<m;i++)
		{
			ll lev=task[i].level;
			ll time=task[i].time;
			for(;j<n;j++)
			{
				if(mach[j].time>=time) //把时间>=当前任务的添加进来 
				{
					level[mach[j].level]++;
				}else{
					break;
				}
			}
			for(k=lev;k<=100;k++)//找>=当前任务等级的机器 
			{
				if(level[k]>0)
				{
					level[k]--;
					break;
				}
			}
			if(k<=100)//成功找到 
			{
				cnt++;
				ans=ans+500*time+2*lev; 
			}
		}
		printf("%d %lld\n",cnt,ans);
	}
	return 0;
}
这题一开始我的想法:先处理价值大的任务,然后找一个时间和等级都>=这个任务 且最接近的机器去处理它,结果一直超时,因为要给n个任务匹配都需要遍历m个机器,差不多n*m的时间吧,能力也不足想不出什么优化的方法。看了大神的解题报告,先将任务和机器都按时间按大到小排序,这样我们就只需要比较等级这一个变量,用一个level数组记录前n次匹配遗留下的不同等级的机器数目,这些都可能是解决当前任务的机器(因为时间都是大于等于当前任务的),只需要在其中找一个等级最接近的即可。这样时间最多就是m,我的天,这技巧我真是佩服,十分值得学习。

LVGL 离线字体转换lv_font_conv本地安装 LVGL FONT CONV 离线版本 阅读详情

相关推荐

网工最容易搞混的三个概念:防火墙、网闸、堡垒机,一文让你轻松搞明白。

网闸的作用可以简单概括为:在两个或多个不同安全级别的网络(如内网和外网、普通网与高安全网、受限网与互联网)之间建立一个严格隔离、信息流转的安全桥梁。它的核心任务是实现数据安全传输与隔离,避免网络之间的直接连接带来的安全隐患。数据传输安全:网闸保证数据从一个网络到另一个网络时,能够进行审查、过滤和转换,防止恶意数据或非法信息被传入内部网络或外部泄露。高安全性隔离:网闸常常用于企业的内外网隔离、军事网络、政府机关等对数据隔离要求极高的环境。

HWP18612324139的博客 3638

小明的打工计划

题目描述 作为一个有很多游戏想买但囊中羞涩的大学生,小明决定在这个暑假开始打工赚钱。经过一段时间的寻找,他一共找到了n个打工的招聘广告,其中第i个打工的日期从li开始,到ri为止,一共付给他ci元钱。因为这些打工的时间都相互冲突,所以同一天小明最多参加一个打工,并且一个打工一旦开始,就必须一直工作到结束,不能中途退出。现在小明想要知道,这个暑假他打工最多能得到多少钱? 输入数据 第一行一个整数n(1≤n≤1000000),表示招聘广告的数量。 接下来一共n行,每行3个整数li,ri,ci(1≤li≤.

zhuibushixi的博客 1354

MediaCodec视频解码流程详解及参考demo

本文主要讲解mediacodec的视频解码流程,及demo参考例子。

分享音视频技术 7877

机器和任务

oday the company has m tasks to complete. The ith task need xi minutes to complete. Meanwhile, this task has a difficulty level yi. The machine whose level below this task’s level yi cannot complete t

JingleLiA的博客 702

深入解析UEFI PEI阶段:PeiCore的三次调用与内存管理机制

本文深入解析UEFI启动流程中的PEI阶段,重点探讨PeiCore的三次调用与内存管理机制。详细介绍了PeiCore在临时内存中的初始化、堆栈切换至永久内存的过程,以及最终交接给DXE阶段的关键步骤,为开发者提供调试技巧与实战案例,助力解决UEFI启动问题。

weixin_28452161的博客 652

《寻秦OL》.ani动画逆向解析:二进制结构与Unity重实现

动画文件格式是游戏资源逆向的核心入口,其本质是一组按特定规则组织的二进制数据流。理解魔数识别、字节序、字段对齐与差分编码等底层原理,是解析非标准格式的关键前提。技术价值在于绕过黑盒协议,直接从静态客户端提取可验证的原始语义;典型应用场景包括老游戏复刻、美术资产抢救、引擎跨平台迁移及教学级逆向训练。本文以《寻秦OL》的`.ani`文件为实例,深入剖析其C风格结构布局、GB2312中文命名、16位定点数旋转表示及帧主序差分存储机制,并基于C#在Unity中完成从字节流到AnimationClip的端到端重建,覆

weixin_30368981的博客 641

贪心 hdu4864 Task

这题很容易能想到是贪心,却一下子很难想清楚如何贪心 首先可以很容易想出这样的贪心: 对于一个机器,肯定是按照x大的先考虑,x相等时y大的先考虑。因为x的权值很大,这样钱是最多的 考虑任务的选择次序,很容易想到肯定是先考虑钱多的,再考虑钱少的 想到这里,我们就知道了,肯定要对任务按照x,y的次序从大到小排序,然后从大到小去枚举 然后好像就不知道怎么处理机器了,,这时候又可以

qwb的博客 1001

字节跳动扣子AI应用开发平台之实战

推出背景:扣子平台由字节跳动推出,旨在让非开发者也能快速创建、调试和优化聊天机器人。上线时间:扣子平台于2024年2月1日正式上线。功能定位:扣子是一个AI聊天机器人和应用程序编辑开发平台,可以理解为字节跳动版的GPTs。

恩爸编程 5898

hdu4864(贪心)

Today the company has m tasks to complete. The ith task need xi minutes to complete. Meanwhile, this task has a difficulty level yi. The machine whose level below this task’s level yi cannot complete

small__snail__5的博客 832

基于Simulink的伺服电机位置闭环控制仿真

本文带你从零构建了伺服电机位置闭环控制系统​ 的完整Simulink仿真模型,实现了:✅ 搭建PMSM伺服电机、逆变器、机械臂负载的主电路与编码器反馈模型;✅ 用MATLAB Function实现三环控制(位置环PID、坐标变换、电流环PI);✅ 验证阶跃定位(稳态误差0.002°、响应0.08s)与正弦跟踪(误差0.008°)的高性能;✅ 对比开环控制,明确位置闭环在精度、响应、抗扰上的优势;✅ 理解“三环嵌套+反馈校正”的核心思想(精密定位的工程实现)。核心收获。

amy_mhd的博客 173

Xilinx平台SRIO介绍(五)示例工程Example Design介绍

理解IP的使用,少不了Example Design的学习。

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

hdu4864Task(贪心)

题目链接: 啊哈哈,点我 题目: Task Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2512    Accepted Submission(s): 643 Problem Description

大洋深处 1861

后摄模块辐射超标整改

某行车记录仪在EMI测试中出现辐射超标问题,通过模块剥离法定位到后摄模块的Ethernet数据线为噪声源。深入检查发现TYPE-C延长线屏蔽层未有效接地,形成辐射泄漏通道。整改措施包括加强屏蔽层360°接地、使用导电布改善连接处屏蔽等,最终使辐射降至EN55032 Class B限值以内。案例揭示了高速信号延长线中屏蔽连续性的重要性,建议设计阶段就重视连接器屏蔽设计和共模干扰抑制。

硬核科技 256

HDU4864 Task 任务匹配 贪心

HDU4864 Task 任务匹配 题面: 满足一定要求的 m 个任务和 n 个机器的匹配,使得总收益最多。 解题过程: 贪心地找满足时间要求的最低满足等级要求的机器。 AC代码: #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&g...

Hagtaril 317

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU 4864 Task (贪心好题)

HDU 4864 Task (贪心好题)@TOC 前言 对于没什么基础的人打ACM,不要老想着以后,专注于目前才能放平心态,好好刷题,加油! 问题描述 今天,该公司有m项任务要完成。 第一项任务需要xi分钟才能完成。 同时,此任务的难度等级为yi。 级别低于此任务yi的计算机无法完成此任务。 如果公司完成此任务,他们将获得(500 * xi + 2 * yi)美元。 该公司有n台机器。 每台机器都有一个最大的工作时间和一个级别。 如果任务时间超过机器的最大工作时间,则机器无法完成此任务。 每台机器一天只能完

weixin_51596891的博客 337

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HDU-4864-Task

HDU-4864-Task 传送门 这是一道贪心题目哦~ 题目大意:给你几台机器,给你几个任务,每台机器有自己限制的工作时长和自己的等级,每个任务也有完成所需的工作时长和自己的等级,一台机器如果想要解决一个任务,必须满足这台机器对应的等级大于等于这个任务对应的等级,这台机器对应的工作时长也需要大于等于这个任务的工作时长,并且每台机器每天只能处理一项任务,一台机器处理完一项任务所获得的利润是500工作时长+2工作等级。问一天可以获得的最大利润是多少。 本题思路:很明显,是一道贪心,我们把时长和等级保存在结构体

qq_44624316的博客 177

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

hdu 4864 Task

  题目链接:hdu 4864   其实就是个贪心,只是当初我想的有偏差,贪心的思路不对,应该是这样子的:   因为 xi 的权值更重,所以优先按照 x 来排序,而这样的排序方式决定了在满足任务(即 xi >= xj && yi >= yj)的所有机器中(设为 S)优先选择更贴近 yj 的 yi(因为我们肯定是选择最贴近任务 x,y 值的机器,要么是 ...

aidiao7379的博客 96

HDU 4864 Task 贪心

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4864 题意:N个机器,M个任务,每个机器每天只能完成一件任务。每台机器有它的最长工作时间t和等级lv,每个任务也有它的需要时间t和等级lv,工作时间超过需要时间并且等级超过任务等级的机器人才能完成这个任务。完成每个任务获得的收益是500*t+2*lv,问最多可以当天可以获得多少收益。 思路:将所有机器

看曙光 1124

Hdu 4864(Task 贪心)(Java实现)

Hdu 4864(Task 贪心) 原题链接 题意:给定n台机器和m个任务,任务和机器都有工作时间值和工作等级值,一个机器只能执行一个任务,且执行任务的条件位机器的两个值都大于等于任务的值,每完成一个任务可获奖励500x+2y。求完成最多任务前提下可获得最高奖励,输出任务数和奖励数。 解法:对机器和任务进行排序,x和y都从大到小排。循环考察每一个任务,把满足每一个任务x值的机器等级都记录下来,然后...

weixin_34085658的博客 209

【HDU 4864】 Task

【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=4864 【算法】 贪心 不妨将两个数组分别按x从大到小排序 然后枚举每件物品,选择x值大于该物品的且y值最小的机器对它进行修理 【代码】 #includ...

91

HDU4864 Task【贪心】

Task Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 16874 Accepted Submission(s): 4287 Problem Description Today the company has m tasks to complete. The ith task need xi minutes to complete. Mea

海岛Blog 478

HDU 4864 Task

题目链接:HDU 4864 Task

一蓑烟雨 924

COS对象存储与视频录播处理:技术教程的合规边界与实践

对象存储(Object Storage)是现代云计算中常用的数据管理方式,以桶(Bucket)为容器组织数据,支持生命周期管理、批量迁移与备份等操作。在音视频领域,录播文件常常需要经过转码、切片、字幕提取等处理,以便于分发和播放。这些技术具有广泛的应用场景,但也涉及版权、肖像权与隐私保护等合规要求。只有在合法授权的前提下,才能对存储资源进行访问和二次利用。本文从技术实践角度,探讨如何在遵守法律边界的基础上撰写相关教程,避免因误用公共资源而引发风险。

weixin_34326558的博客 299

HDU4864-Task

Today the company has m tasks to complete. The ith task need xi minutes to complete. Meanwhile, this task has a difficulty level yi. The machine whose level below this task’s level yi cannot complete ...

weixin_43357583的博客 240
上一篇: nyoj12 喷水装置(二)
下一篇: hdu4221 Greedy?
勤勤勤能补拙
博客等级 码龄10年 60粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值