poj3190 Stall Reservations(贪心+STL)

https://vjudge.net/problem/POJ-3190

cin和scanf差这么多么。。tle和300ms

思路:先对结构体x升序y升序,再对优先队列重载<,按y升序。

  然后依次入队,如果node[i].x<=q.top().y ans++, 否则出队,入队,使用出队的那个摊位。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<cmath>
 7 #include<set>
 8 #define INF 0x3f3f3f3f
 9 typedef long long ll;
10 using namespace std;
11 struct Node{
12     int x, y;
13     int id;
14     bool operator<(const Node &a)const{
15         return y > a.y;
16     }
17 }node[50010];
18 int n, maxm = -INF, b[50010];
19 bool cmp(const Node a, const Node b)
20 {
21     if(a.x != b.x)
22         return a.x<b.x;
23     return a.y<b.y;
24 }
25 int main()
26 {
27     scanf("%d", &n); 
28     int ans = 1;
29     for(int i = 0; i < n; i++){
30         scanf("%d%d", &node[i].x, &node[i].y);
31         node[i].id=i+1;
32     }
33     sort(node, node+n, cmp);
34     priority_queue<Node> q;
35     q.push(node[0]);
36     b[node[0].id] = ans;
37     for(int i = 1; i < n; i++){
38         Node t = q.top();
39         if(node[i].x <= t.y){
40             q.push(node[i]);
41             ans++;
42             b[node[i].id] = ans;
43             //maxm = max(maxm, ans);
44         }
45         else if(node[i].x > t.y){
46             q.pop();
47             q.push(node[i]);
48             b[node[i].id] = b[t.id];
49             //cout << b[t.id] << "t";
50         }
51     }
52     printf("%d\n", ans);
53     for(int i = 1; i <= n; i++){
54         printf("%d\n", b[i]);
55     }
56     
57     return 0;
58 } 

 

转载于:https://www.cnblogs.com/Surprisezang/p/9000363.html

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

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

相关文章

每日一题(10)—— 数组与指针

分析下面的代码&#xff0c;求输出结果。 int a[5] {1,2,3,4,5};int *p (int *)(&a 1);printf("%d %d",*(a 1),*(p - 1)); 分析&#xff1a; a —— 数组首元素的地址 等价于 &a[0] &a —— 数组的首地址 int —— 4字节 *(a 1) a[1] 2&…

美图赏析:拆解USB无线网卡,电路方案非常经典

很多台式机没有无线网卡&#xff0c;只能插网线。想要使用WiFi&#xff0c;插个USB无线网卡就行&#xff0c;简单方便&#xff1a;USB无线网卡非常小巧&#xff0c;以至于会好奇&#xff0c;电路板是怎么塞进去的&#xff1a;下面拆解其中某个厂家的一款&#xff1a;另一个角度…

程序员经常说的「设计模式」到底是什么?

当程序员说去「设计模式」时&#xff0c;你是否会一脸懵逼&#xff0c;到底什么是设计模式呢&#xff1f; 很多人应该听说过设计模式&#xff08;Design pattern&#xff09;&#xff0c;又或多或少的看过或用过设计模式&#xff0c;但是实际用在开发过程中总有点心有余而力不足…

每日一题(11)—— 结构体大小

分析下面的代码&#xff0c;求运行结果&#xff08;64位&#xff09;。 #include <stdio.h>struct {int id;unsigned char arg;char *p;void (*func)(void); } test;int main(void) {printf("sizeof(test.id):%d\n", sizeof(test.id));printf("sizeof(tes…

缓存服务器在Linux下的运用

本文只介绍memcached缓存服务器的PHP的API&#xff0c;想查看其他关于Memcached缓存服务器的API文档案&#xff0c;请访问 http://www.danga.com/memcached/一、环境需求安装Memcached缓存服务器须要 libevent库的支持&#xff0c;所以请在安装Memcached缓存服务器之前检查有没…

Linux 内存管理之vmalloc

走进vmalloc 根据前面的系列文章&#xff0c;我们知道了buddy system是基于页框分配器&#xff0c;kmalloc是基于slab分配器&#xff0c;而且这些分配的地址都是物理内存连续的。但是随着碎片化的积累&#xff0c;连续物理内存的分配就会变得困难&#xff0c;对于那些非DMA访问…

composer不成功的原因

1在下载好composer.setup的过程中&#xff0c;出现了错误&#xff0c;安装好composer.setup后并没有在path中出现关于composer.setup/bin的目录&#xff0c;如果没有出现这个path的这个路径的话&#xff0c;那么你在cmd里面就会出现找不到这条命令的情况 2.安装好phpstudy的这个…

《观止》书评

收到《观止》一书已经一周了&#xff0c;因为工作很忙的原因&#xff0c;前几天完全没有看。到了周末才稍有点空闲&#xff0c;便拿起手边的这本《观止》一起。谁知一“观”而无法“止”。硬是活生生的占用了我整个本来打算用来补觉的周末。 严格说来《观止》并不算是技术书籍…

每日一题(12)—— .h头文件中ifndef/define/endif的作用

.h头文件中ifndef/define/endif的作用&#xff1f; 分析&#xff1a; 防止头文件被重复包含。 #ifndef _TEST_H_ #define _TEST_H_/* test.h */#endif /* _TEST_H_ */假如在a文件和b文件中都使用这个test.h&#xff0c;假如编译器先编译a&#xff0c;执行.h的内容&#xff0…

进程是如何使用内存的?

程序运行概述程序&#xff08;我们这里只讨论单进程情况&#xff0c;存在多进程的程序如淘宝微信等不展开讨论&#xff09;镜像存在磁盘中&#xff0c;运行时将镜像加载至内存RAM中&#xff0c;然后开始执行。先来看一下CPU的多级存储结构&#xff0c;CPU通用寄存器访问速度最快…

如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复

我们知道&#xff0c;用SQLDMO可以实现对数据库的备份与恢复&#xff0c;下面给出简单的实现方法。首先需要添加对SQLDMO引用1.实现数据库的备份&#xff1a;1/**//// <summary> 2 /// 数据库备份 3 /// </summary> 4 /// <returns>备份…

每日一题(13)—— #includefile.h 与 #include “file”的区别

#include<file.h> 与 #include “file”的区别&#xff1f; #include<file.h>&#xff1a;编译器从标准库路径开始搜索file.h&#xff1b; #include “file”&#xff1a; 编译器先从当前目录下搜索file.h&#xff0c;找不到&#xff0c;再到标准库路径搜索file…

TP4056 实现可编程锂电充电器+电量计

本文作者&#xff1a;t3486784401链接&#xff1a;https://www.mydigit.cn/forum.php?modviewthread&tid250916&extra手头有些容量非常小的软包锂电&#xff0c;直接使用市面上的大功率充电板&#xff08;500mA/1A&#xff09;倍率太大&#xff0c;容易损坏电池。索性…

ASP.NET获取路径的方法

HttpContext.Current.Request.PhysicalPath; // 获得当前页面的完整物理路径.比如 F:\XFU.NSQS\project\website\Default.aspxHttpContext.Current.Request.PhysicalApplicationPath; // 获得当前程序运行的物理路径比 如F:\XFU.NSQS\project\website\HttpContext.Current.S…

《我也能做CTO之.程序员职业规划》 水准之上,期望以下

高老师的新作已经大致拜读了&#xff0c;看完之后确实有点不吐不快的话。在这献丑一说&#xff0c;大家多批评指正。个人感觉老老师这书写的实在是&#xff0c;水准以上&#xff0c;期望之下。这话怎么解呢&#xff0c;简单的说&#xff0c;确实这书达到了高老师的平均水准&…

电车防盗报警器电路原来是这样的!

前几天电路菌从电车上拆开了一个防盗报警器&#xff0c;今天来看看防盗报警器这内部的电路到底是怎样的&#xff01;上图就是防盗报警器的主机&#xff0c;引出来的这根黑线是天线。在防盗报警主机的侧面&#xff0c;可以看到印刷有文字“RP-48V-64V”&#xff0c;应该是指这主…

vue 重定向

//重定向 { path: /*, component: Home} 转载于:https://www.cnblogs.com/1032473245jing/p/9018304.html

每日一题(14)—— 交换a,b的值(不使用中间变量)

如何将a,b的值进行交换&#xff0c;并且不使用任何中间变量&#xff1f; 推荐答案&#xff1a; a a ^ b; b a ^ b; a a ^ b; 下面的答案不好&#xff0c;可能会导致越界的问题 a a b; // 可能越界 b a - b; a a - b;

买到假芯片,血的教训!

关注星标公众号&#xff0c;不错过精彩内容作者 | 写代码的篮球球痴素材来源 | 云汉芯城2021年太难了&#xff0c;芯片涨价不说&#xff0c;涨价之后还买不到芯片&#xff0c;芯片交货周期已经超过一年了。嵌入式Linux1涨价、缺货 ——> 翻新、假货在芯片涨价、缺货的背景下…

Windows 7 :微软目前最好的操作系统

好消息&#xff0c;各位&#xff01;如果你是 PC 用户&#xff0c;如果你仍然在使用有 8 年历史的 Windows XP&#xff0c;或者令人讨厌的 Windows Vista &#xff0c;现在你终于可以解脱了&#xff1a;Windows 7 就在眼前。微软交付了一套设计巧妙、改进巨大的操作系统&#x…