NC202498 货物种类
NC202498 货物种类
题目
题目描述
某电商平台有 \(n\) 个仓库,编号从 \(1\) 到 \(n\) 。
当购进某种货物的时候,商家会把货物分散的放在编号相邻的几个仓库中。
我们暂时不考虑售出,你是否能知道,当所有货物购买完毕,存放货物种类最多的仓库编号为多少?
输入描述:
在第一行中给出两个正整数 \(n\) , \(m\) ,\(1≤n,m≤10^5\) 分别代表仓库的数目和进货的次数。
接下来 \(m\) 行,每行三个正整数 \(l\) , \(r\) , \(d\) , \(1≤l,r≤n\) , \(1≤d≤10^9\) 。编号在 \(l\) 和 \(r\) 之间的仓库收进编号为 \(d\) 的货物。(包括 \(l\) 和 \(r\) )
输出描述
在一行中输出存放货物种类最多的仓库编号,若满足条件的仓库不止一个,则输出编号最小的那个。
示例1
输入
5 5
1 1 1
3 3 1
2 5 2
5 5 1
4 5 1
输出
3
题解
思路
知识点:前缀和。
先将区间按种类从小到大排序,左端点从小到大。再对同一类连通区间合并,并对端点进行差分处理表示这个区间种类数+1。之后做前缀和得到某个点的种类数,最后做判断得到最小下标即可。
时间复杂度 \(O(mlogm+n)\)
空间复杂度 \(O(m+n)\)
代码
#include <bits/stdc++.h>
using namespace std;
int vis[100007];
struct pack{
int l,r,d;
}p[100007];
bool cmp(pack a,pack b){
return a.d == b.d?a.l<b.l:a.d<b.d;
}
int main(){
int n,m;
cin>>n>>m;
for(int i = 0;i<m;i++){
cin>>p[i].l>>p[i].r>>p[i].d;
}
sort(p,p+m,cmp);
int l = p[0].l,r = p[0].r;
for(int i = 1;i<m;i++){
if(p[i-1].d == p[i].d && p[i].l<=r) r = max(r,p[i].r);
else{
vis[l]++;
vis[r+1]--;
l = p[i].l;
r = p[i].r;
}
}
vis[l]++;
vis[r+1]--;
int ans = 1;
for(int i = 2;i<=n;i++){
vis[i] += vis[i-1];
if(vis[ans]<vis[i]) ans = i;
}
cout<<ans<<'\n';
return 0;
}
NC202498 货物种类的更多相关文章
- C——货物管理系统
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> ...
- 读书笔记--SQL必知必会--常用MySQL(MariaDB)命令
DBMS信息 显示DBMS的版本 select version(); 显示DBMS状态 status; 显示DBMS资源状态 show status; 显示DBMS支持的权限 show privile ...
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
- iOS 将对象的属性和属性值拆分成key、value,通过字符串key来获取该属性的值
这篇博客光看标题或许就会产生疑问,某个对象,只要它存在某个属性,且值不是空的,不就能直接用点方法获取吗,为什么要拆分成key和value多此一举呢?下面,我用一个例子告诉大家,既然这方法是存在的,那就 ...
- 基于 HTML5 WebGL 的 3D 仓储管理系统
仓储管理系统(WMS)是一个实时的计算机软件系统,它能够按照运作的业务规则和运算法则,对信息.资源.行为.存货和分销运作进行更完美地管理,使其最大化满足有效产出和精确性的要求.从财务软件.进销存软件C ...
- 【技术解析】如何用Docker实现SequoiaDB集群的快速部署
1. 背景 以Docker和Rocket为代表的容器技术现在正变得越来越流行,它改变着公司和用户创建.发布.运行分布式应用的方式,在未来5年将给云计算行业带来它应有的价值.它的诱人之处在于: 1)资源 ...
- Codeforces Round #485 (Div. 2) D. Fair
Codeforces Round #485 (Div. 2) D. Fair 题目连接: http://codeforces.com/contest/987/problem/D Description ...
- 读书笔记--SQL必知必会--常用MySQL(MariaDB)命令及示例
DBMS信息 显示DBMS的版本 select version(); 显示DBMS状态 status; 显示DBMS资源状态 show status; 显示DBMS支持的权限 show privile ...
- 什么是WMS系统 金蝶仓库条码管理WMS系统介绍
汉码盘点机-专注于傻瓜式的仓库条码管理系统,是当前出入库工作效率最高.数据最准确的仓库管理办法. "WMS,即q=%E4%BB%93%E5%BA%93%E7%AE%A1%E7%90%86%E ...
随机推荐
- 论文解读(GCC)《Graph Contrastive Clustering》
论文信息 论文标题:Graph Contrastive Clustering论文作者:Huasong Zhong, Jianlong Wu, Chong Chen, Jianqiang Huang, ...
- Go 语言 结构体链表
@ 目录 1. 什么是链表 2. 单项链表的基本操作 3. 使用 struct 定义单链表 4. 尾部添加节点 5. 头部插入节点 6. 指定节点后添加新节点 7. 删除节点 1. 什么是链表 链表是 ...
- Ansible Notes: Tower Credential的本质
Ansible AWX/Tower credential 的本质 Ansible Tower (社区版本叫AWX)用credential这个资源来对象来存储playbook运行过程中用到的机密信息.比 ...
- Asp.Net在线预览Word文档的解决方案与思路
前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈. 这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档. 首先想到的是用第三方 ...
- FreeRTOS --(13)任务管理之空闲任务
转载自 https://blog.csdn.net/zhoutaopower/article/details/107180016 创建完毕任务,启动调度器,任务控制,系统 SysTick 来临后判断是 ...
- ChCore Lab1 机器启动 实验笔记
本文为上海交大 ipads 研究所陈海波老师等人所著的<现代操作系统:原理与实现>的课程实验(LAB)的学习笔记的第一篇. 书籍官网:现代操作系统:原理与实现,里面有实验的参考指南和代码仓 ...
- 使用CSS实现《声生不息》节目Logo
声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 <声生不息> 是芒果TV.香港电视广播有限公司和湖南卫视联合推 ...
- Vue 中 watch 的一个坑
开发所用 Vue 版本 2.6.11 子组件 coma 中两个属性: props: { url: { type: String, default: '' }, oriurl:{ type: Strin ...
- Hadoop安装学习(第四天)
学习任务:解决9000端口丢失导致hadoop无法连接的问题 解决方法:格式化namenode 步骤: 1.进入hadoop/bin 2.输入命令:hadoop namenode -format(hd ...
- Css实例之信息提交
代码实例: <!DOCTYPE html><html><head><meta charset="UTF-8"><title&g ...