HDOJ 4864 Task

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析) 阅读详情

题目大意:

有n台机器,m个任务,每个机器和任务都有有xi和yi 2个属性,要求机器的xi,yi均大于等于任务的xi和yi才能执行任务。每台机器一天只能执行一个任务。要求完成的任务数尽量多,并且说金额尽量大,给出n,m,和机器,任务的相关属性,输出,任务个数和金钱

 

分析:

完成每个任务的金额为xi*500+yi*2,又因为xi(0<xi<1440),yi(0=<yi<=100)。就算是yi最大的时候也不能让xi*500<yi*2所以,优先选择时间大的,又因为题目要求完成任务尽量多,

所以要先按照任务的时间来遍历,然后来看符合条件的机器个数。

贪心点在于:

将任务的x从大到小排序(x相同时将y从大到小排序)。然后也用相同排序方法排序机器。

开始遍历任务,找出所有xi(xi>=xj),从中选择yi最小的一个作为这个任务的运行机器。

为什么这么贪心,因为若还存在任务(xk,yk)使得这个机器能被使用,但xj>=xk,所以获得金钱更多,

优先选择j;若k不能使用这个机器,那么必定也就不存在其他机器能被使用,除非是新加入的机器,但新加入的必定不能完成任务j,所以完成任务保证了最多。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <map>
using namespace std;
const int MAXN = 100000+1;
map<int,int> mapp;
struct P
{
    int x,y;
}ma[MAXN],ta[MAXN];
bool cmp(P a,P b)
{
    if(a.x==b.x) return a.y>b.y;
    else return a.x>b.x;
}
int main()
{
    int N,M,i,j,t;
    while(~scanf("%d%d",&N,&M))
    {
        for(i=0;i<N;i++)
        {
            scanf("%d%d",&ma[i].x,&ma[i].y);//机器:x是时间,y是等级
        }
        for(i=0;i<M;i++)
        {
            scanf("%d%d",&ta[i].x,&ta[i].y);//任务:x是时间,y是等级
        }
        sort(ma,ma+N,cmp);//对机器和任务的时间递增排序,时间一样的话,再按照等级排
        sort(ta,ta+M,cmp);//使遍历时不漏
        mapp.clear();
        j=0;
        int cnt_t=0;
        long long cnt_m=0; //注意范围 选用long long防止数据过大出错
        for(i=0;i<M;i++) //对已经排好序的,从大到小的任务开始遍历从大到小的任务
        {
            while(j<N && ma[j].x>=ta[i].x)//只要是时间上满足任务条件的都先加进mapp中去
            {
                mapp[ma[j].y]++;
                j++;
            }
            map<int,int>::iterator it=mapp.lower_bound(ta[i].y);//让it指向满足大于等于第i个任务的等级的mapp
            if(it!=mapp.end())//也就是说是时间上满足任务条件的,等级上满足的最小的那个机器;
            {                  //如果没找到,就不撤销这个机器
                cnt_t++;
                cnt_m+=500*ta[i].x+2*ta[i].y;
                int t=it->first;
                mapp[t]--;
                if(mapp[t]==0)
                    mapp.erase(t);
            }
        }
        printf("%d %I64d\n",cnt_t,cnt_m);
    }
    return 0;
}


 

YOLOv11改进 | 检测头篇 | 利用动态蛇形卷积DySnakeConv改进yolov11分割检测头(全网独家首发,Segment) 本文给大家带来的最新改进机制是一种我进行优化的专用于分割的检测头,在分割的过程中,最困难的无非就是边缘的检测,动态蛇形卷积(Dynamic Snake Convolution)通过自适应地聚焦于细长和迂回的局部结构,准确地捕捉管状结构的特征。这种卷积方法的核心思想是,通过动态形状的卷积核来增强感知能力,针对管状结构的特征提取进行优化,所以将这个卷积针对于YOLOv11的分割头进行融合是非常合适的,当然本文的检测头也支持用于目标检测,但是我将其设计出来是主要为了分割的读者使用的。 阅读详情

相关推荐

TI理想二极管在冗余电源中应用实例

深入探讨理想二极管如何提升冗余电源系统的效率与可靠性,通过实际应用案例展示其在电流隔离和自动切换中的优势,帮助工程师优化电源架构设计。

weixin_30653091的博客 987

【HDOJ 4864】Tack(贪心)

题面:Tack 题目大意 今天某公司有 mmm 个任务需要完成。 每个任务都有自己相应的难度级别和完成任务所需的时间,记作 (y,x)(y,x)(y,x)。 公司若完成第 iii 个任务,可以获得 (500∗xi+2∗yi)(500*x_i+2*y_i)(500∗xi​+2∗yi​) 美元的报酬。 现在,公司有 nnn 台机器,每台机器都有相应的最长工作时间和级别。 如果任务所需时间超过机器的最长工作时间,则机器无法完成此任务。 如果任务难度级别超过机器的级别,则机器无法完成次任务。 每台机器一天内只能完成

qq_45371462的博客 374

AI原生应用在UGC内容审核中的实战经验

AI原生应用(AI-Native Application)——以机器学习模型为核心驱动力,深度整合数据、算法、工程架构的完整系统——为破解这一三角难题提供了全新范式。全链路数据驱动:从数据采集、模型训练到决策优化,形成闭环自治系统,无需人工规则干预多模态深度理解:同时处理文本、图像、音频、视频等多类型内容,理解语义而非简单匹配特征自适应进化能力:通过人机协同反馈持续学习新型违规模式,模型周级迭代成为常态审核效率提升300%:单条视频审核耗时从2.3秒降至0.7秒。

AI算力网络与通信的博客 1149

HDOJ 4864 Task(贪心)

Task Problem Description 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

nudt_oys的博客 597

Julia Ann老司机管理系统

https://content.badgirlsusa.com/Julia_Ann-Sexy_Julia_Ann_Fucks_A_Lil_Elf's_Big_Cock_/Julia-Ann-Naughty-America-%E6%80%A7%E6%84%9F%E7%9A%84%E8%A3%98%E8%8E%89%E5%A9%AD%E5%AE%89%E4%BA%82%E6%90%9E-lil-%E7%B2%BE%E9%9D%88%E7%9A%84%E5%A4%A7%E5%85%AC%E9%9B%9E-2020

www_oracle_com的博客 22万+

Gemini 2.5 Pro国内免魔法直连教程:5分钟搞定专业级PPT图表(附折线图/柱状图案例)

本文详细介绍了如何利用Gemini 2.5 Pro快速生成专业级PPT图表,包括折线图和柱状图等常见商业图表。通过自然语言交互和智能图表生成功能,用户可以在5分钟内完成数据可视化,大幅提升工作效率。文章还提供了实战案例和高级技巧,帮助用户轻松应对各种商业场景需求。

weixin_30733003的博客 460

HDOJ4864 Task 题解报告

题目传送门 【题目大意】 有$m$个任务,第$i$个任务等级为$y_i$,完成任务需要的时间为$x_i$,收益为$500*x_i+2*y_i$。有$n$台机器,第$i$台机器的等级为$y_i$,最长工作时间为$x_i$,如果任务等级高于机器等级或是任务时间大于机器工作时间,则不能用该机器完成该任务。一台机器只能完成一个任务,一个任务也只能在一台机器上完成,求最多可以完成多少个任务并求...

weixin_30662849的博客 210

使用 MATLAB/Simulink 构建一个基于FOC控制的PMSM矢量控制仿真模型

本教程详细介绍了基于MATLAB/Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)系统建模与仿真方法。主要内容包括:PMSM电机模型参数设置、Clarke/Park变换模块设计、电流环PID控制器配置、SVPWM调制实现以及系统仿真参数优化。文章提供了模块化设计思路和具体参数设置示例,并给出了PID整定建议和进阶优化方向。通过该仿真模型,可深入理解PMSM矢量控制原理,掌握高性能电机控制系统的建模技巧,适用于伺服系统、电动汽车驱动等高端控制场景。教程还推荐了实时仿真和高级控制策略等扩展应用。

xiaoheshang_123的博客 528

Sunscreen(poj3624)与Task(HDOJ4864)的比较-贪心

Sunscreen 要找最多的奶牛,所以从奶牛的角度考虑问题。将奶牛的min从大到小排序,对于每个奶牛,要找满足他条件的里面的防晒霜之中spf最大的。因为后面的奶牛的min一定小于等于这个奶牛,下线不成问题,而只关乎上线,我们要把上线小的尽量留到后面。 #include <bits/stdc++.h> using namespace std; const int maxn=30...

Mmm040403的专栏 390

【更新中260712】CRAIC中国机器人及人工智能大赛-机器人应用赛-智能产线赛项-备赛指南

2025年第二十七届中国机器人及人工智能大赛现已闭幕结合我小组自身备赛情况及见闻感悟,现整理成章。

EDUCN 938

STM32芯片解锁读写保护:更改Option Byte [Error已解决]

解锁读保护:STLink更改Option Byte 变Level从1变为0,点击Apply即可。(程序执行读保护,其实是将Level从0变为1) 默认情况下该保护功能是不开启的,若要开启该功能,需要改写内部FLASH选项字节(Option Bytes)中的配置。 RDP读保护级别 级别0,无保护, 级别1,使能读保护, 这种保护下,若使用调试功能(使用下载器、仿真器)或者从内部SRAM自举时都不能对内部FLASH及备份SRAM作任何访问(读写、擦除都被禁止); 当芯片处于级别1的时候,可以把选项字节

HowieXue 薛永浩的博客 2万+

hdoj4864 Task (贪心)

题目来源: 2014 Multi-University Training Contest 1--by FZU 题意:有N个机器和m个工作,机器和工作都有一个时间xi和价值yi,一个工作只有满足xi和yi都小于机器的才能在这个机器上做,一个机器最多能做一个工作,做一个工作获得的钱是工作的xi*500+yi*2,最多完成多少任务,最多由多个的话输出钱最多的。怎样安排? 分析:

大神养成中..... 1797

硅电容的工艺结构原理及选型参数总结

硅电容,也称为硅质电容或硅二极管电容,是一种特殊的电容器。它利用硅二极管的结构来实现电容的功能。本文对硅电容的工作原理,结构特点,选型参数及设计注意事项进行总结。

fydar的博客 2330

hdoj 4864 Task 【贪心】

贪心策略:因为2*难度(1~100) 远比500*时间 的影响小,所以说,先对时间从大到小排序,相等的再按照等级从大到小排序;对任务和机器都排序之后,再统计满足任务时间的机器,选择等级最接近任务难度的的机器; 因为数据很多,很可能超出int范围,要用长整型,但是最后输出的时候,如果用printf( "%lld %lld\n", sol, sum );输出的话,会发现第二个数会是0,在这上面wa了n次。。 最后问了一下学长,用了%I64,才正确,后来有自己百度了一下http://blog.youkuaiyun.com

shengweisong 1160

VB摄像头监控

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

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[HDOJ 4864] Task [贪心]

现有n个机器和m个人物 #include #include #include #include using namespace std; struct PP { int x,y; friend bool operator < (const PP &a,const PP &b) { return a.y<b.y; } }; PP task[100101]; PP ma

jinzhao1994的专栏 696

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDOJ 4864 Task 贪心

#include #include #include #include #include struct task { int xi; int yi; }t[100001],ma[100001]; int comp(const void* a,const void* b) { task *c=(task *)a; task *d=(task *)b; if(

hnu_zhou的专栏 395

VC中sqlite的使用

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

hdoj4864 Task

#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <queue> using namespace std; const int N =...

weixin_30341745的博客 70

hdu 4864 Task(贪心)

hdu 4864 Task(贪心)

2120

两个费用的贪心(HDOJ 4864)

Task Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7328    Accepted Submission(s): 1939 Problem Description Today the company

Eminem1147的博客 528

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

HDOJ4964 Task 贪心

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4864 分析 贪心,观察数据规模可知,运行时间的优先级高于难度水平。 将机器和任务以此排序,完成一个任务只会对答案贡献一次,因此从收益更高的任务开始尽量完成。 每次为任务选择机器时,选在花费时间满足要求的前提下,难度水平尽可能小的,这样不会更差。 AC代码 #include <cstdio>...

Kevin的博客 163

贪心 之 hdu 4864

//  [7/23/2014 Sjm] /* 又坑在TLE上了。。。。 Each machine can only complete a task one day. Each task can only be completed by one machine.所以想到了贪心。。。 发现 dollars = 500*xi+2*yi, 由于 xi(0 2*100,所以 dollars 的决定因素是

JmingS 672

HDU4864

D - Task Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4864 uDebug Descript

algzjh的博客 1337

hdu4864 task

#include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define REP(i,a,b) for(int i=a;i<=b;++i) #define mset(a) memset(a,0,

ocgcn2010的专栏 645

hdu 4864 Task 贪心+二分/set

题意: 有n台机器,m个任务,每台机器有xi,yi,每个任务也有xj,yj,当一个任务可以被处理的条件是,xj<=xi 且 yj 贪心的话,如果是遍历任务的话,那么我们希望尽可能做时间和level更高的任务,我们可以先按时间排,时间相同按level,递增排,机器也是按这个排。 然后从最大价值的任务开始遍历,对于每一个任务,找到第一个大于等于任务【i】.x的机器,然后显然就是在包括

缺氧 483

HDU4864:Task(贪心)

Problem Description 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 le

ACM!荣耀之路! 6177
上一篇: HDOJ 4861 Couple doubi
下一篇: HDOJ 5058 So easy
喵不理
博客等级 码龄12年 1粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值