当前位置: 首页 > news >正文

CF1249D2 Too Many Segments (hard version)

给你条线段,每条线有起始点和终止点,线段会覆盖一个直线上的的所有点,问你取消多少条线段后可以使每一个点都不被大于的数量的线段覆盖。
## 前置知识
考虑对于第个点,之前的所有点都满足了要求,如果不满足要求,要去掉一些线段,那么肯定是要选右端点最大的,因为左边已经不管了,去掉之后对右边的影响越大越好,这时候时间复杂度是的。

#include<bits/stdc++.h> using namespace std; const int N=2e2+5; struct node{ int l,r,id; }; node a[N]; int n,k,tot,s[N],sum[N]; bool cmp(node x,node y){ if(x.r==y.r) return x.l<y.l; return x.r<y.r; } int main(){ scanf("%d%d",&n,&k); for(int i=1;i<=n;i++){ scanf("%d%d",&a[i].l,&a[i].r); a[i].id=i; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ for(int j=a[i].l;j<=a[i].r;j++){ sum[j]++; if(sum[j]>k){ s[++tot]=a[i].id; break; } } } printf("%d\n",tot); for(int i=1;i<=tot;i++){ printf("%d ",s[i]); } return ~(-1); }


做法
对于的情况,我们可以用优先队列优化,然后模拟也是一样的。

#include<bits/stdc++.h> using namespace std; #define int long long const int N=2e5+5; struct node{ int l,r,id; }; node a[N]; bool cmp(node x,node y){ return x.l<y.l; } struct cmp_r { bool operator()(const node &a, const node &b) const { return a.r < b.r; } }; int n,k,now=1,res=0,d[N]; priority_queue<node,vector<node>,cmp_r> q; vector<int> ans; signed main(){ scanf("%lld%lld",&n,&k); for(int i=1;i<=n;i++){ scanf("%lld%lld",&a[i].l,&a[i].r); a[i].id=i; d[a[i].l]++; d[a[i].r+1]--; } sort(a+1,a+n+1,cmp); for(int i=1;i<=N-5;i++){ d[i]+=d[i-1]; while(now<=n&&a[now].l<=i){ q.push(a[now]); now++; } while(d[i]>k&&!q.empty()){ node p=q.top(); q.pop(); d[i]--; d[p.r+1]++; res++; ans.push_back(p.id); } } printf("%lld\n",res); for(int i=0;i<res;i++) printf("%lld ",ans[i]); return 0;
http://www.jsqmd.com/news/570662/

相关文章:

  • 告别命令行!用这个开源GUI工具5分钟上手ChromaDB向量数据库
  • 手把手教你用threestudio从零生成3D模型(附避坑指南)
  • 深入理解Java AQS:抽象队列同步器的核心原理与实战指南
  • CLAP音频分类镜像实战案例:无障碍APP环境音提示功能开发
  • 从零到百:我们如何用自研MCP平台管理公司500+台MySQL实例的?
  • 无需手动下载jdk1.8,快马平台5分钟搭建spring boot应用原型
  • 如何通过AtlasOS实现Windows系统性能提升与隐私保护:从游戏加速到日常办公的全面优化指南
  • Python EXE逆向解密完全指南:从二进制分析到源码还原的3大核心技术
  • AgentCPM实战:产品经理如何快速生成竞品分析报告
  • Vmware系列虚拟机系列【仅供参考】:解决 VMware 嵌套虚拟化提示 关闭“侧通道缓解“
  • Step3-VL-10B多模态教程:processing_step3.py图像预处理流程详解
  • Pwndbg调试器实战指南:5大核心场景下的高效调试配置策略
  • WS2812灯光效果库完全指南:从零开始创建专业级LED灯光秀
  • rrweb开源项目集成:企业级网页录制回放完整指南
  • Appium vs Selenium元素定位实战对比:用同一款APP演示5种定位策略
  • 丹青识画惊艳效果展示:同一张照片生成5种意境题跋对比
  • 3DGS渲染高光效果总是一团糊?试试浙大团队这个Deferred Reflection新方案(附保姆级复现思路)
  • 【Ware】OBS Studio显示器捕获黑屏的终极排查指南
  • K8s定时任务实战:如何用CronJob每分钟输出Hello World(附表达式详解)
  • 艾倍生七星创客模式系统开发
  • LA-PEG-SCM,硫辛酸PEG琥珀酰亚胺乙酸酯,一种新型异双功能PEG衍生物
  • 技术民主化:OpCore-Simplify让黑苹果配置零门槛实现
  • 新手福音:借鉴Cursor理念,用快马平台零基础构建待办事项应用
  • Dramatron:AI协同创作革命,5步解锁专业剧本创作新范式
  • 财务三大表是什么?5分钟,带你看懂财务三大表!
  • 保姆级教程:手把手教你搞定Carsim2019安装与破解(附常见报错解决方案)
  • 告别驱动冲突!手把手教你清理Windows老旧驱动,顺利开启内存完整性保护
  • 5分钟上手QtScrcpy:免费实现安卓设备跨平台投屏与控制全指南
  • COMSOL数据可视化避坑指南:如何用SciPy的griddata处理不规则网格数据?
  • 探索Feishin:构建个人音乐王国的自托管解决方案