POJ 3190 - Stall Reservations(贪心)

【题解】POJ 3190 Stall Reservations(贪心) POJ 3190 Stall Teservations 原题 https://vjudge.net/problem/POJ-3190 哦,那些挑剔的N (1 <= N <= 50,000)头牛! 他们是如此的挑剔,每一个只会被挤奶在一个精确的时间间隔A、B (1 <= A <= B <= 1,000,000),其中包括两次A和B。显然,FJ必须创建一个预约系统来确定每头奶牛的挤奶时间。当然,没有一头牛会和其他的牛分享如此私密的时刻。 帮助FJ确定:谷仓中所需的最小档位数量 阅读详情

Stall Reservations
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 2278 Accepted: 811 Special Judge

Description

Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A..B (1 <= A <= B <= 1,000,000), which includes both times A and B. Obviously, FJ must create a reservation system to determine which stall each cow can be assigned for her milking time. Of course, no cow will share such a private moment with other cows. 

Help FJ by determining:
  • The minimum number of stalls required in the barn so that each cow can have her private milking period
  • An assignment of cows to these stalls over time
Many answers are correct for each test dataset; a program will grade your answer.

Input

Line 1: A single integer, N 

Lines 2..N+1: Line i+1 describes cow i's milking interval with two space-separated integers.

Output

Line 1: The minimum number of stalls the barn must have. 

Lines 2..N+1: Line i+1 describes the stall to which cow i will be assigned for her milking period.

Sample Input

5
1 10
2 4
3 6
5 8
4 7

Sample Output

4
1
2
3
2
4

Hint

Explanation of the sample: 

Here's a graphical schedule for this output: 

Time     1  2  3  4  5  6  7  8  9 10

Stall 1 c1>>>>>>>>>>>>>>>>>>>>>>>>>>>

Stall 2 .. c2>>>>>> c4>>>>>>>>> .. ..

Stall 3 .. .. c3>>>>>>>>> .. .. .. ..

Stall 4 .. .. .. c5>>>>>>>>> .. .. ..
Other outputs using the same number of stalls are possible.

============================

题意:求使给出的线段互相不重合所需要的最小行数


通过这题学会了优先队列。优先队列用结构体的话需要在结构体里重载' < ' ,默认是最大值在队首。要想每次取出的是最小值,就在重载' < '时定义为大于。具体看代码

先以左端点为关键字进行排序。优先队列中存的是已经定位的线段,找出右端点最小的,看是否小于当前线段的左端点。若小于则弹出该线段,当前线段加入优先队列;若大于等于,则另开新行,当前线段加入优先队列。


#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>

using namespace std;

struct cow
{
    int st,ed;
    int p;
    bool operator<(const cow& rhs) const //重载
    {
        return ed>rhs.ed; //可取出右端点最小的。若改成'<'则取出右端点最大的。
    }
}a[51111];

bool cmp(cow a,cow b)
{
    return a.st<b.st;
}

int main()
{
    int n,num[51111],sz=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].st,&a[i].ed);
        a[i].p=i;
    }
    sort(a+1,a+n+1,cmp);
    priority_queue<cow>que;
    num[a[1].p]=++sz;
    que.push(a[1]);
    for(int i=2;i<=n;i++)
    {
        cow temp=que.top();
        if(temp.ed<a[i].st)
        {
            num[a[i].p]=num[temp.p];
            que.pop();
            que.push(a[i]);
        }
        else
        {
            num[a[i].p]=++sz;
            que.push(a[i]);
        }
    }
    printf("%d\n",sz);
    for(int i=1;i<=n;i++)
        printf("%d\n",num[i]);

    return 0;
}



STM32H743内存告急?手把手教你用CubeMX+FMC外扩32MB SDRAM(W9825G6KH-6) 本文详细介绍了如何在STM32H743上使用CubeMX和FMC外扩32MB SDRAM(W9825G6KH-6),解决内存不足问题。从硬件选型、CubeMX配置到初始化代码实现,提供完整的配置教程和性能优化技巧,帮助开发者高效扩展内存,适用于图形界面和复杂算法处理。 阅读详情

相关推荐

POJ 3190 Stall Reservations贪心

POJ 3190 Stall Reservations贪心 Description   Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A..B (1 <=...

dengguan2720的博客 146

大白映射 宝马Esys编程设码映射、USB设备映射

大白映射,宝马Esys设码编程、USB设备映射

denson0394的博客 4800

POJ3190 Stall Reservations 【贪心】

Stall Reservations Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3106   Accepted: 1117   Special Judge Description Oh those picky N (1 <= N <= 50,000)

长风的专栏 1406

数字设计实验:RISC-V指令单周期CPU

本文旨在介绍RISC-V指令单周期CPU的设计思路和仿真实现(含代码)

2401_83740084的博客 2713

PHY6252开发实战:从零构建BLE串口透传应用

本文详细介绍了PHY6252开发板在BLE串口透传应用中的实战经验,包括开发环境搭建、BLE串口透传例程解析、AT指令集实现与扩展、数据透传机制优化以及常见问题排查指南。通过智能家居遥控器项目案例,展示了PHY6252在低功耗物联网设备开发中的实际应用。

weixin_29183637的博客 313

POJ3190 Stall Reservations 贪心

题目链接 http://poj.org/problem?id=3190 分析 贪心,先将牛按开始吃草的时间升序排序。 依次考虑每头牛,若其能加入某个已存在的畜栏(即其开始时间晚于该畜栏中上一头牛的结束时间),则加入; 否则新建一个畜栏供其使用。 枚举下一头牛在安置时可能的情况,会发现这样做最优。 AC代码 #include <cstdio> #include <algorithm...

Kevin的博客 172

【100%通过率】华为OD机试真题 JavaScript 实现【对称美学】【2023 Q1 | 100分】

对称就是最大的美学,现有一道关于对称字符串的美学。 已知: 第1个字符串:R 第2个字符串:BR 第3个字符串:RBBR 第4个字符串:BRRBRBBR 第5个字符串:RBBRBRRBBRRBRBBR相信你已经发现规律了,没错! 就是第i个字符串=第i-1号字符串的取反+第i-1号字符串。取反即(R->B,B->R); 现在告诉你n和k,让你求得第n个字符串的第k个字符是多少。(k的编号从0开始)

MISAYAONE的博客 9850

POJ 3190 Stall Reservations 【区间贪心】

题目链接 题意 给你N个闭区间,求最小的分组数,使得每组中的区间互不相交 分析 最开始想的是用取最多不相交区间的办法,不断地取出当前可以作为最多不相交区间的组,取后标记,再不断取,这样可以保证组数最少。但是这样做复杂度是O(N2),而题中数据量是50000,不可取。 考虑另一种贪心思路:不断取当前可取的左端点最小的区间,如果可以加在当前右端最值最小的组的...

babao9492的博客 139

微信文件自动归档!手把手教你用OpenClaw搭个自己的“数字员工”,告别重复劳动

很多人说“AI是未来”,但未来不是靠喊口号的。OpenClaw的真正价值,是让你把重复劳动交出去,把时间留给真正需要创造力的事。这事真能干,而且不难。下载OpenClaw(GitHub仓库按我写的步骤跑一遍遇到坑,评论区留言——我亲自帮你看作者后记:上周五,我让AI自动归档了文件后,终于在5点准时下班。回家路上,我给它发了条消息:“干得漂亮”。它没回,但我知道——它在默默等我的下一条指令。

2601_94871597的博客 413

【2026年阿里巴巴集团暑期实习- 4月25日-算法岗-第二题- 矩阵计数】(题目+思路+Java&C++&Python解析+在线测试)

摘要: 给定两个非负整数序列a和b,构造n×m矩阵C,其中C[i][j]=a[i]×b[j]。统计矩阵中元素≥k的数量。解法是先对数组b排序,然后对于每个a[i],若k=0则直接累加m;若a[i]=0且k>0则跳过;否则计算需要的最小b[j]值,在排序后的b中使用二分查找确定满足条件的元素数量。时间复杂度为O((n+m)log m),空间复杂度O(1)。代码实现了排序和二分查找的高效组合。

m0_73659489的博客 65

【贪心】POJ 3190 Stall Reservations

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

weixin_44197056的博客 151

吊打BEVFormer!GaussianBeV实战:用3D高斯开启BEV分割新范式

GaussianBeV是一种基于3D高斯建模的BEV分割新方法,在自动驾驶感知任务中实现了SOTA性能。其核心创新在于将场景元素表示为3D高斯分布,通过均值、协方差和权重精确描述物体位置、形状和置信度,相比传统BEV方法具有更强的空间建模能力。文章详细介绍了GaussianBeV的原理、环境配置、训练推理流程及其在自动驾驶和城市3D重建中的应用,并讨论了优化方向和未来发展趋势。该方法在nuScenes等数据集上表现出色,为BEV分割任务提供了新的解决方案。

m0_71589036的博客 106

Stall Reservations POJ - 3190 贪心

一、内容 有N头牛在畜栏中吃草。 每个畜栏在同一时间段只能提供给一头牛吃草,所以可能会需要多个畜栏。 给定N头牛和每头牛开始吃草的时间A以及结束吃草的时间B,每头牛在[A,B]这一时间段内都会一直吃草。 当两头牛的吃草区间存在交集时(包括端点),这两头牛不能被安排在同一个畜栏吃草。 求需要的最小畜栏数目和每头牛对应的畜栏方案。 输入格式 第1行:输入一个整数N。 第2..N+1行:第i...

Tizzi的博客 534

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【贪心】POJ——3190 Stall Reservations

题目链接:http://poj.org/problem?id=3190 慕课郭炜老师讲的例题: https://www.icourse163.org/learn/PKU-1001894005?tid=1002783037#/learn/content?type=detail&id=1003863800&sm=1 #include<iostream> #inclu...

an94460061的博客 171

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

POJ3190-Stall Reservations 【贪心】

Oh those picky N (1 &lt;= N &lt;= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A..B (1 &lt;= A &lt;= B &lt;= 1,000,000), which includes both times ...

独钓门前月 601

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

POJ3190_Stall Reservations_贪心

Stall Reservations Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6315   Accepted: 2302   Special Judge Description Oh those picky N (1 <= N <= 50,000)

弱的奋斗之旅 887

POJ - 3190 Stall Reservations【贪心】

【题目描述】 Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A…B (1 <= A <= B <= 1,000,000), which includes both ...

inv0ker的博客 190

POJ 3190 Stall Reservations-奶牛分栏(区间贪心,优先队列)

贪心算法证明与实例(POJ3190),区间贪心,优先队列

ACM_10000h的专栏 1849

【贪心】【排序】Stall Reservations(poj P3190)

贪心题

还有一年 226

POJ3190 Stall Reservations【贪心】

Stall ReservationsTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 9355 Accepted: 3264 Special JudgeDescriptionOh those picky N (1 &lt;= N &lt;= 50,000) cows! They are so picky that each one w...

海岛Blog 837

贪心-Stall Reservations POJ - 3190

结构体+优先队列+贪心 #include <iostream> #include <cstdio> #include <cstring> #include <limits> //#include <stack> #include<queue> #include <algorithm> #define e...

天天向上 191

POJ 3190 Stall Reservations 贪心+优先队列

Description Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A…B (1 <= A <= B <= 1,000,000), which includes...

RPG_Zero的博客 205

POJ 3190 Stall Reservations【贪心】

POJ 3190 题意: 一些奶牛要在指定的时间内挤牛奶,而一个机器只能同时对一个奶牛工作。给你每头奶牛的指定时间的区间(闭区间),问你最小需要多少机器。思路:先按奶牛要求的时间起始点进行从小到大排序,然后维护一个优先队列,里面以已经开始挤奶的奶牛的结束时间早为优先。然后每次只需要检查当前是否有奶牛的挤奶工作已经完成的机器即可,若有,则换那台机器进行工作。若没有,则加一台新的机器。注意:利用p...

weixin_30632883的博客 68
上一篇: POJ 1328 - Radar Installation(贪心)
下一篇: POJ 3617 - Best Cow Line(贪心)
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值