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: 3590 Accepted: 1284 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.

Source




#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>


#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define epst 1e-8
typedef __int64 ll;

#define fre(i,a,b)  for(i = a; i <b; i++)
#define free(i,b,a) for(i = b; i >= a;i--)
#define mem(t, v)   memset ((t) , v, sizeof(t))
#define ssf(n)      scanf("%s", n)
#define sf(n)       scanf("%d", &n)
#define sff(a,b)    scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
#define pf          printf
#define bug         pf("Hi\n")

using namespace std;

#define INF 0x3f3f3f3f
#define N 50005

struct stud{
  int x,y;
  int pos;
  bool operator <(const stud d) const
  {
		return y>d.y;
  }
}f[N];

int ans[N];
int k;
priority_queue<stud>q;
int n;

int cmp(stud a,stud b)
{
	if(a.x==b.x) return a.y<b.y;
	return a.x<b.x;
}

void solve()
{
	int i,j;
	stud cur;
	while(!q.empty())q.pop();
	for(i=1;i<=n;i++)
	{
		if(q.empty())
		{
			ans[f[i].pos]=++k;
			q.push(f[i]);
			continue;
		}
        cur=q.top();
        if(cur.y<f[i].x)
		{
			ans[f[i].pos]=ans[cur.pos];
			q.pop();
		}
        else  ans[f[i].pos]=++k;
        q.push(f[i]);
	}
}

int main()
{
	int i,j;
	while(~sf(n))
	{
		for(i=1;i<=n;i++)
			{
				sff(f[i].x,f[i].y);
			    f[i].pos=i;
			}
		sort(f+1,f+n+1,cmp);
		k=0;
		solve();
		pf("%d\n",k);
		for(i=1;i<=n;i++)
			pf("%d\n",ans[i]);
	}
    return 0;
}



Plot3d 网格数据格式 PLOT3D是一个计算机图形程序,旨在可视化计算流体力学的网格和解决方案。PLOT3D文件可以是ASCII, 也可是Fortran unformatted 或 C binary形式。PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件)。网格文件中可加入所谓的IBlank参数。 阅读详情

相关推荐

未来计算的革命:探索存算一体芯片的潜力与挑战

未来计算的革命:探索存算一体芯片的潜力与挑战

jtwqwq的博客 1610

poj3190(区间贪心)

贪心,优先队列,先对开始时间排序,队列中结束时间在前的优先。如果出队元素结束时间比另一元素早则该元素 入队,否则牛棚数加一再入队最早开始的。用一个数组记录顺序 这个贪心思路比较简单,难点就是按照开始时间拍完序之后再怎么输出的问题,本来想的是再结构体里再加一个数据 代表选用哪个兽栏,但是一直出错。。。 看了大神的思路后,还是用一个数组单独保存思路更清晰。。。 #include #inc

愿岁月如歌 443

OBS直播美颜全攻略:从插件下载到参数调校一站式指南

本文提供OBS直播美颜插件从下载安装到参数调校的一站式指南。详细介绍了如何安全获取并安装OBS美颜插件,重点讲解了在OBS中添加美颜滤镜的核心步骤,并分享了磨皮、肤色调整、细节增强等关键参数的实战调校技巧,帮助主播打造自然、专业的直播形象。

weixin_29197835的博客 324

[POJ 3190] Stall Reservations (区间贪心)

POJ - 3190 给定若干个区间,问至少要分成几组 使得同组的区间互不重叠 典型的区间贪心问题 贪心的策略就是对左端点排序,然后依次选择安排 记录一下每个隔间最右端点的位置,然后用最小堆维护一下 当前区间尽可能地放到最右点最小的组里 如果这组依旧放不进去,就没有隔间能放得进去了 所以就要为其申请一个新的隔间 否则就把它安排到这个隔间里,并且更新此隔间最右端点#pragma

MisDeer's blog 356

对接萤石平台调用播放

萤石api 管理 · 萤石开放平台API文档 httpclient pom <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> package com.ruoyi...

u011799016的博客 1773

波分复用-Zblock仿真

Z-BLOCK是一种用于光通信模块的光学元件,其核心结构是在玻璃块一侧贴有4个特定波长滤光片,另一侧镀有反射膜和增透膜。光信号在内部呈现Z字形反射路径,实现波长分离。文章以可见光LED为例,在ZEMAX中演示了非序列模式下的建模过程,重点介绍了滤光片和膜层的参数设置方法。需要注意的是,入射角度需根据玻璃折射率、通道高度和厚度精确计算,否则可能导致光泄漏。该建模方法同样适用于光通信中的光纤激光器系统。

Zhaxibamao的博客 1743

ACM快速输入输出

package 输入输出; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.StreamTokenize...

王跃坤的博客 1640

技术文档的语言表达:简洁、准确与易懂的平衡艺术

技术文档的语言表达不仅要简洁、准确,还需要能够打破技术壁垒,使不同背景的读者都能理解。这是一项需要技巧和经验的工作,它要求技术作者既要具备扎实的专业知识,又要具备清晰的表达能力。通过不断打磨语言的简洁性、准确性和易懂性,我们能够创造出一份高质量的技术文档,让知识的传递不再受限于语言的障碍。

人心有反复,好在山水有重逢。 4677

poj3190(贪心算法+优先队列)

题目链接:poj 3190 Stall Reservations 题目大意:有N只牛要挤奶,每个牛圈只能同时让一只奶牛挤奶,每只奶牛只在特定的A到B时间段产奶,问至少需要几个牛圈。 题解:贪心策略是优先满足A比较小的奶牛塞进B最小的牛栏,先将奶牛按照开始产奶的时间A_i从小到大排序,然后做一个牛圈的优先队列,以结束时间早的牛圈排在前,若塞不下则要新牛圈。网络上的解法,至今不理解为什么要优先满足A比...

weixin_44880917的博客 597

晶晨S905L3S/S905L3SB芯片刷机实战:BL加载工具与线刷固件全解析

本文针对晶晨S905L3S/S905L3SB芯片电视盒子刷机时常见的2%失败问题,提供了两种核心解决方案。一是使用已集成特殊通信协议的专用版USB Burning Tool(如V2.2.5/V2.2.7),二是采用旧版工具配合独立的BootLoader加载工具。文章详细解析了两种方案的原理、操作步骤、固件选择及常见问题排查,旨在帮助用户成功完成刷机,让老旧设备焕发新生。

weixin_29238147的博客 1107

基于YOLOv8的人群聚集检测系统:含UI界面设计与数据集应用

人群聚集检测是智慧城市、公共安全和疫情防控等领域的重要任务。本文结合YOLOv8最新目标检测技术,设计并实现了一个高效的人群聚集检测系统,支持可视化UI界面操作,方便用户实时检测和分析视频中的人群密度。本文详细介绍了系统设计思路、使用的数据集、YOLOv8模型训练和推理过程,以及UI界面的开发与整合。最后通过实验验证了该系统的实用性和性能表现。更灵活的模型架构强化的特征融合网络(PAN++)自动混合精度训练支持支持多任务学习(目标检测+分类+分割)预训练模型丰富,适应多种应用场景。

YOLO 432

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

液滴碰撞壁面的过程背景论文——bouncing反弹,spreading扩展,splashing飞溅。铺展过程介绍。还存在很多未解之谜。

【1993-德国-Phenomena of liquid drop impact on solid and liquid surfaces】液滴碰撞壁面的过程背景——bouncing反弹,spreading扩展,splashing飞溅。还存在很多未解之谜。还存在很多未解之谜。不同液滴形状碰撞过程。

qq_15963745的博客 199

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

POJ3190 Stall Reservations 贪心

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

Kevin的博客 172

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ 3190 Stall Reservations 【区间贪心】

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

babao9492的博客 139

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【贪心】POJ 3190 Stall Reservations

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

weixin_44197056的博客 151

Stall Reservations POJ - 3190 贪心

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

Tizzi的博客 534

【贪心】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

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

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 ...

独钓门前月 600

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

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 P3190)

贪心题

还有一年 226
上一篇: POJ 3253 Fence Repair(贪心)
下一篇: POJ 3262 Protecting the Flowers(贪心)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值