[CF1965F] conference

news/2024/12/22 21:06:31/文章来源:https://www.cnblogs.com/Cyan0826/p/18622534

题意:有 \(n\) 个讲师,对于讲师 \(i\),他可以在 \([l_i,r_i]\) 中选一天讲课,问对于 \(x \in [1,n]\),有多少连续的 \(x\) 天可以做到都有讲师讲课。

先考虑区间的 \(l\) 互不相同时如何解决。

对于已知的 \([l,r]\) 是否存在完美匹配,判断是简单的,我们贪心地按天数从左往右依次解决,每次填覆盖当前天的 \(r\) 最小的讲师即可。

根据 hall 定理,我们发现若 \([l,r]\) 满足条件,那么 \([nl,nr] \subseteq [l,r]\) 必然满足条件,所以我们只需要判断 \([l,r]\) 是否满足条件即可。

然后我们从后往前扫求对于第 \(i\) 天,符合条件的最大的 \(R_i\) 在哪里就行了,这个根据上面的贪心处理即可。

那么对于区间 \(l\) 有相同的其实差不多,若区间 \([l,r]\) 被分配给了第 \(d\) 天,那这个区间可以被写成 \([d,r]\),然后就和区间的 \(l\) 互不相同的时候一样了。

点击查看代码
#include<bits/stdc++.h>
#define fir first
#define sec second
#define int long long
#define lowbit(x) x&(-x)
#define mkp(a,b) make_pair(a,b)
using namespace std;
typedef pair<int,int> pir;
inline int read(){int x=0,f=1; char c=getchar();while(!isdigit(c)){if(c=='-') f=-1; c=getchar();}while(isdigit(c)){x=x*10+(c^48); c=getchar();}return x*f;
}
const int inf=1e9,N=2e5+5;
int n,m;
vector<int> ed[N];
multiset<int> s;
int c[N],nc[N],op[N],pos[N],res[N];
signed main(){n=read();for(int i=1;i<=n;i++){int l=read(),r=read();ed[l].push_back(r);m=max(m,r);}for(int i=1;i<=m;i++){for(auto r:ed[i]) s.insert(r);while(s.size()&&*s.begin()<i) s.erase(s.begin());if(s.size()){int r=*s.begin();s.erase(s.begin());c[i]++,c[r+1]--;op[i]=1;}else nc[i]++;}for(int i=1;i<=m;i++) nc[i]+=nc[i-1],c[i]+=c[i-1];int r=m+1;for(int i=m;i>=1;i--){int num=c[i]-op[i]+1+nc[i-1];pos[nc[i]]=i;if(num<=m&&pos[num]) r=min(r,pos[num]);res[r-i]++;}for(int i=n;i;i--) res[i]+=res[i+1];for(int i=1;i<=n;i++) cout<<res[i]<<'\n';
}

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

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

相关文章

[长期活动] 【4Z-API】每5楼抽取1位送10美金API额度,20%中奖机会!

​ 活动详情 活动时间: 长期有效 奖励内容: 每5楼抽取1位幸运用户,送价值10美金API额度 ** 参与方式** 登录 4Z API域名巧记:ZZZZAPI.com 4个Z然后API 简单好记:4Z= ZZZZAPI.com 每5个楼层将抽取1位幸运用户4Z-API优势稳定高速的API服务超值定价,性价比之选7x24小时技术支持…

CW信号的正交解调

1.CW信号CW可以叫做等幅电报,它通过电键控制发信机产生短信号"."(点)和长信号"--"(划),并利用其不同组合表示不同的字符,从而组成单词和句子。CW信号可以看作一种幅度调制信号,类似于幅移键控(2ASK信号)其携带的信息保存在其幅度中,通过改变载波…

团队作业3

团队作业3--需求改进&系统设计这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13233这个作业的目标 修改完善需求规格说明书、系统设计、Alpha任务分配计划、测试计…

Authz0:自动化授权测试工具

免责声明 本文提供的资源仅供学习,利⽤本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使⽤者本⼈负责,本文及作者不为此承担任何责任,一旦造成后果请自行承担责任!简介 Authz0 是一款自动化授权测试工具。可以根据URL和角色与凭证识别未经授权的访问。URL和角…

戴尔T3680工作站 改造虚拟工作站,满足多人设计需求

在戴尔 T3680 工作站作为通过了 NVIDIA vWS兼容性认证的工作站,部署 Proxmox VE 和 DoraCloud,可以实现工作站虚拟化,满足多个用户设计需求。可以顺畅运行 SolidWorks、NX/UG 等大型CAD软件。满足企业 资源共享、信息安全、远程设计的业务需求。最近拿到一台 戴尔 T3680 工作…

HDU3746-Cyclic Nacklace

继续跟着邝斌飞刷KMP HDOJ3746 百度的时候发现题目英语弄错了,项链英文是Necklace,不是Nacklace读完之后我滴妈,上难度了呀 题意:就是给你个字符串a~z,,###:妈逼的不知道咋回事百度那个搜索不知道是不是总更新网页html一些东西,ADblock拦截又tm不好使了,还得重新拦截。…

天嵌通途xczu15eg学习笔记——基于iwip的TCP服务器性能测试(一)

学习记录——基于iwip的TCP服务器性能测试(一) 环境如下,Windows10,vivado2020.2 硬件部分设置如下:PS-PL之间的交互时钟,复位已关闭 Generate Output Products,Create HDL Wrapper,Export Hardware之后进入vitis开发环境 选择IwIP TCP Perf Server模版 打开Terminal中的…

PERIODNI

思路 哇, 看到这个就直接想到昨天学的经典应用 : 最大子矩形 好吧还是认真推一下 完蛋了是计数, 我们没救了 首先按照高度为优先级, 位置为键值建一颗小根笛卡尔树, 我们玩下样例找下性质 例如题目中给出的图片, 我们建成笛卡尔树就长这样其中每个点由 \(\{键值, 优先级\}\) 组…

2024-2025-1 20241421 《计算机基础与程序设计》第十三周学习总结

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计 这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十三周作业 这个作业的目标 复习知识,巩固所学 作业正文 https://www.cnblogs.com/118qa/p/18622459 教材学习内容总结概念 结构体是一种用户自定义的数据类型,…

Shell脚本编程题(八道)

Linux操作系统期末编程题——Shell脚本编程题(八道) 第一题 1.编程实现从键盘获取一个整数,按下列情况输出对应结果: (1)当该数值为 6 或 7 时,输出“休息日(Rest Day)”。 (2)当该数值为 1 至 5 时,输出“工作日(Working Day)”。 (3)其他情况输出“输入错误(E…

构建全方位大健康零售帮助中心:提升服务与体验

在当今社会,随着人们健康意识的不断提升,大健康零售市场迎来了前所未有的发展机遇。然而,面对琳琅满目的健康产品、复杂的健康理念以及日益增长的消费者需求,如何提供一个高效、便捷、全面的帮助中心,成为了大健康零售企业亟待解决的问题。在此背景下,引入Helplook工具,…

高新技术企业知识管理新篇章:高效内部知识库建设

高新技术行业作为经济发展的重要引擎,其创新能力和发展速度直接关乎国家的整体竞争力。然而,在快速发展的背后,高新技术企业面临着知识管理不善、信息共享不畅等挑战。为了应对这些挑战,高效搭建内部知识库显得尤为重要。本文将以Helplook工具为例,探讨如何高效构建高新技…