Minimal Segment Cover

news/2024/12/16 8:29:53/文章来源:https://www.cnblogs.com/YzaCsp/p/18609111

前言

最近需要把效率提起来, 注意写题不能太水, 要多自己想

思路

转化题意
给定 \(n\) 个线段,每个线段形如 \([l,r]\)
\(m\) 次询问,每次询问给出 \(x, y\) , 求至少选多少个线段才能使这些线段的并能包含线段 \([x,y]\)

又是这一类线段题, 我们也是做过不少

不用想的太复杂, 我们先考虑一个贪心做法, 对于每一个点, 我们尽可能的往右边选择, 然后再跳到右边的位置之后继续贪心, 这样是 \(\mathcal{O} (nq)\)

考虑优化, 容易发现我们可以优化跳的次数, 类似于倍增

代码

#include <bits/stdc++.h>const int MAXN = 5e5 + 10;
int n, q, f[MAXN][25], k;int main()
{scanf("%d %d", &n, &q);for (int i = 1; i <= n; i++){int l, r;scanf("%d %d", &l, &r);f[l][0] = std::max(f[l][0], r);k = max(k, r);}for (int i = 1; i <= k; i++)f[i][0] = std::max(f[i][0], f[i - 1][0]);for (int i = 1; i <= 20; i++)for (int j = 0; j <= k; j++)f[j][i] = f[f[j][i - 1]][i - 1];while (q--){int l, r, ans = 0;scanf("%d %d", &l, &r);for (int i = 20; i >= 0; i--)if (f[l][i] < r){ans += 1 << i;l = f[l][i];}printf("%d\n", f[l][0] >= r ? ans + 1 : -1);}return 0;
}

总结

倍增优化一类跳跃问题

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

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

相关文章

从底层源码深入分析Spring的IoC容器初始化过程

IOC容器的初始化整体过程 Spring是如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的?这主要会经过以下 4 步:从XML中读取配置文件,并将配置文件转换为Document 再将Document中的 bean标签解析成 BeanDefinition,如解析 property…

C#正则表达式快速入门

前言 正则表达式(Regular Expression)是一个强大的文本处理工具,主要用于字符串的搜索、替换、验证和分割等操作。通过定义特定的模式,正则表达式可以高效地匹配、查找或替换符合该模式的文本内容。今天大姚将和大家一起来快速了解学习正则表达式,并且在C#中快速应用。 正…

用新数据重建旧类,实现无样本的持续学习

用新数据重建旧类,实现无样本的持续学习众所周知,持续学习方法会遭受灾难性遗忘,对于不存储先前任务示例的方法来说,这种现象尤其难以应对。因此,为了减少特征提取器中的潜在漂移,通常在第一个任务明显大于后续任务的情况下评估现有的无样本方法。从较小的第一个任务开始…

转发:《智能汽车传感器:原理设计应用》新书推荐

《智能汽车传感器:原理设计应用》新书推荐 由化学工业出版社资深编辑张海丽老师负责策划编辑。 本书在京东、淘宝天猫、当当网上均有销售 京东:https://search.jd.com/Search?keyword=%E6%99%BA%E8%83%BD%E6%B1%BD%E8%BD%A6%E4%BC%A0%E6%84%9F%E5%99%A8%EF%BC%9A%E5%8E%9F%E…

通过知识提炼增强单视图场景的自监督方法

通过知识提炼增强单视图场景的自监督方法通过运动结构从图像中推断场景几何是计算机视觉中一个长期存在的基本问题。虽然经典方法和最近的深度图预测只关注场景的可见部分,但场景完成的任务旨在推理即使在遮挡区域中的几何形状。随着神经辐射效应(NeRF)的普及,隐式表示也通…

【bWAPP靶场】OS Command lnjection - Blind

命令盲注就是注入后没有返回信息,要根据反应时间判断命令是否成功执行 输入127.0.0.1输入 ||whoami `sleep 5 `

【bWAPP靶场】OS Command Injection

Level:low payload:www.nsa.gov;whoami原理:在DNS查询之后再执行dir命令 Level:medium 查看源码commandi_check_1是把&和;替换了,还可以使用| 构造payload:www.nsa.gov| whoamiLevel:high 查看源码escapeshellcmd()函数用来跳过字符串中的特殊符号,防止恶意用户通过…

【Windows安全】Windows文件关联深度解析:原理、应用与修复

在Windows操作系统中,文件关联是一项至关重要的功能,它决定了当用户双击一个文件时,哪个应用程序会被用来打开这个文件。文件关联机制通过将文件扩展名与特定的应用程序建立起一种依存关系,使得用户无需每次都手动选择打开文件的程序,从而提高了操作效率。本文将深入探讨W…

综合设计——多源异构数据采集与融合应用综合实践——个人总结

这个项目属于哪个课程 2024数据采集与融合技术实践组名、项目简介 组名:scrapy能帮我爬到美味蟹黄堡的秘方吗项目需求:文物不能很好的融入我们的生活,它们仿佛一具冰冷的尸体躺在博物馆的展示柜中,静静地接受着岁月的侵蚀和尘埃的覆盖。项目目标:赋予文物新的生命力,让它…

第 3 单元:微分:复合函数、隐函数和反函数 (链式法则、复合函数)

链式法则 常见的链式法则误解 例子: 例子: 识别复合函数 例子: 例子:利用链式法则求 cos(x) 的导数 例子:利用链式法则求 √(3x-x) 的导数 例子:利用链式法则求 ln(√x) 的导数 例子:

KubeWall:一款现代化的 Kubernetes 集群管理工具

以下文章来源于Github爱好者 ,作者KubeWall KubeWall 是一款功能强大的 Kubernetes 多集群管理工具,采用单一二进制文件的简便部署方式,为用户提供直观且易用的 Web 界面,用于高效管理和监控 Kubernetes 集群。为什么选择 KubeWall? KubeWall 致力于简化 Kubernetes 集群的…