d11.4t4 answer

news/2025/11/4 20:52:55/文章来源:https://www.cnblogs.com/zwc2008/p/19191385

d11.4t4 answer

题目

题目描述

小 ∗ 有一条地铁线路。

\(n\) 个嘟嘟要乘坐地铁。第 \(i\) 个嘟嘟会在第 \(l_i\)站上车,第 \(r_i\) 站下车。为了方便,我们假定有 \(2n\) 个地铁站,且 \(l_i\)\(r_i\) 互不相同。

小 ∗ 很坏,所以只有两班地铁。地铁非常拥挤,所以只有最后上车的嘟嘟才能下车,也就是每班地铁是一个栈。

请你帮每个嘟嘟决定一下上哪班地铁,使得每个嘟嘟都能够成功在目标车站下车。为了方便,数据保证有解。

思路

看到两个栈,想到经典题目双栈排序,即二分图染色。

考虑该题的约束条件,若出现两个嘟嘟交叉的情况,则这两个嘟嘟不能再同一个栈,将这两个点间连一条边约束其不同色即可。

条件即为 \(l1\le l2 \and l2 \le r1 \le r2\) 如下图所示:

图1

如果暴力找前面的点,暴力连边,即可做到 \(O(n^2)\) 的复杂度。

考虑优化。若只有 $l2\le r1 \le r2 $ 的条件,用线段树优化建图即可。

如何去掉第一维?若直接排序,建图是离线操作,没有用。

于是考虑使用可持久化线段树,即可正常去掉第一维。

然而算一算空间复杂度,本题空间只有 \(256\) MB,完全开不了可持久化线段树和线段树优化建图。

考虑问题本质。让 \(a_1,a_2,a_k\)\(i\) 不同色,即让 \(a_1,a_2,a_k\) 同色,再让 \(i\) 与其中任意一个不同色。

则问题转化为:当前一个线段的右端点 \(r\) 排序的序列,支持区间连边(推平)、插入单点的操作。

可以使用类似珂朵莉树的操作,区间推平即直接合并区间,插入单点时分裂区间,并在两区间间连一条边。

最后对于每个连续段,给每个点间依次连边。

分裂操作、标记不同色、最后连边的次数都是 \(O(n)\) 的,因此空间复杂度线性。

对于时间复杂度,可以用vector维护一个区间内点下标,启发式合并可以做到 \(O(n \log n)\) ;也可以使用FHQ维护,复杂度也是 \(O(n\log n)\)

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

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

相关文章

详细介绍:当AI化身数据炼金术士:初级Python开发者如何将创意炼成黄金代码?—— 老码农的炼金术指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【学习笔记】kafka权威指南——第3章 kafka生产者—向kafka写入资料

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P15.神经网路的基本骨架——nn.Module的使用

P15.神经网路的基本骨架——nn.Module的使用打开PyTorch官网 1.找到troch.nn的Containers2.打开pycharm:代码-生成-重写方法-选择第一个要初始化的方法__init__3.pycharm运行代码如下点击查看代码 import torch from …

AGC052做题记录

A 其实是简单题,但我是唐诗。 \(2n\) 很简单,前 \(n\) 个和后 \(n\) 个全选 \(0/1\) 即可。可以感觉到正解只需要在这基础上改进,但是胡思乱想了很多没有任何进展。最后意识到最后凑个 \(0\) 即可。 B 做完 T1 ,就…

软工团队第一次作业

作业所属课程 软件工程作业要求 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13573作业目标 根据真实的需求调研结果,确定具有创新性与实用价值的软件开发项目选题,确保能将智能体合理地…

Windows11-GPT

Windows11-GPT导航 (返回顶部)1. 基于UEFI/GPT的硬盘分区 2. 分区要求2.1 启动分区(ESP) 2.2 微软保留分区(MSR) 2.3 Windows分区(OS) 2.4 恢复工具分区(WinRE) 2.5 数据分区(Other)3. 默认分区布局表 4. 其他实用分区…

1. markdown转word 第一步: markdown转html

1. 简介 最近因为项目需求需要将AI输出的结果导出到word中, 但AI输出的格式为markdown格式,因为word展示内容的时候需要有相应的格式(标题, 段落, 列表, 表格等), 所以不能直接将markdown输出到word中, 否则word中展示…

P14.Dataloader的使用

P14.Dataloader的使用14.1Pytorch官网打开torch.utils.data.DataLoader14.2在pycharm使用DataLoader它返回img和target代码如下:点击查看代码 import torchvision from torch.utils.data import DataLoader #from tor…

docker换源

创建/编辑 /etc/docker/daemon.json {"registry-mirrors": ["https://docker.1ms.run","https://docker-0.unsee.tech","https://docker.m.daocloud.io"],"live-restore…

pypinyin很好用

pypinyin很好用〔https://gitee.com/mirrors/python-pinyin#id4〕 〔https://github.com/mozillazg/pypinyin-dict〕 pip install就噌噌地装上了。 到灵格斯词典网站下载了成语、文化等词典,过几天出个1~2万词的用户…

小九源码-springboot078-java物业管理架构

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

VS 2017 项目文件不完整,缺少预期导入

VS 2017 项目文件不完整,缺少预期导入输入: dotnet --info缺少 .NET Core 2.0 运行时支持。安装:dotnet-runtime-2.0.0-win-x64.exe本文来自博客园,作者:VipSoft 转载请注明原文链接:https://www.cnblogs.com/v…

人性的弱点

抱怨、吵闹,和歇斯底里,所付出的代价。 那种喋喋不休的吵闹,是否对她有了某种帮助?还是把事情弄得更糟? 当你在深夜面对自己时,如果感受到的是充盈而非荒芜,那么这种生存方式就已通过生命的终极考核。

P13.torchvision中的数据集使用

P13.torchvision中的数据集使用13.1Transforms中的类 1.打开pytorch官网 2.找到CIFAR10,这个数据集比较小3.点击图片上红色的CIFAR104.这里的链接就是Pycharm下载到dataset里面的东西13.2CIFAR10数据集的下载与导入 1…

机器学习基础入门(第四篇):无监督学习与聚类途径

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

图上状压 DP

容易发现每年都在考这玩意。每年都不会。 AT_abc213_g [ABC213G] Connectivity 2 显然删边可以变成保留边。 定义状态函数 \(f_s\) 表示保留边,使得 \(s\) 中的点联通的方案数。那么对于 \(k=k0\) 来说,答案应该就是…

k8s删除Terminating状态的命名空间

k8s删除Terminating状态的命名空间原创于 2021-04-07 16:14:02 发布 CC 4.0 BY-SA版权 K8S/Kubernetes文章已被社区收录加入社区 K8S专栏收录该内容5 篇文章订阅专栏在部署Kubesphere时遇到命名空间kubesphere-system处…

【实用脚本】一键安装Oracle19c数据库

【实用脚本】一键安装Oracle19c数据库完整脚本: #!/bin/bash #Oracle 一键安装工具 log_file="/var/log/oracle_install_$(date +%Y%m%d_%H%M%S).log" # 屏幕输出只显示状态提示,日志文件记录完整详细信息…

程序员必逛的9个开发者社区推荐

程序员必逛的9个开发者社区推荐大家好,我是jobleap.cn的小九。 在技术飞速迭代的今天,开发者想要保持竞争力,离不开优质社区的滋养。无论是解决突发Bug、学习前沿技术,还是交流实战经验、寻找合作机会,合适的社区…

CleanMyMac X 4.14.2 dmg 安装教程|Mac 清理软件详细安装步骤

CleanMyMac X 4.14.2 dmg 安装教程|Mac 清理软件详细安装步骤​ CleanMyMac X​ 是一款专门为 ​Mac 电脑​ 设计的 ​系统清理和优化工具一、下载文件 CleanMyMac X 4.14.2.dmg​ 文件安装包下载: https://pan.quar…