2025 ICPC Nanchang Invitational and Jiangxi Provincial Collegiate Programming Contest D题(离散化+差分+前缀和)
题目链接https://codeforces.com/gym/105911/problem/D题目大意给定三维空间内的若干条线段限制其端点在一给定长方体上求对于任意与坐标轴垂直的平面最多能和多少条线段相交。题目思路考虑垂直于x轴切一刀的情况对于一条线段从x1到x2它能被xc 切断当且仅当x1≤c≤x2。 所以问题转化为给定n条线段求最多有多少条线段覆盖同一位置。 那么我们将线段离散化考虑差分对于x1到x2把x1加上1x21 减去1然后求一遍前缀和即可。 y, z 轴同理代码如下:时间复杂度O(nlogn)#include bits/stdc.h using namespace std; #define ll long long #define endl \n struct segment { int x1, y1, z1; int x2, y2, z2; }; int maxoverlap(vectorpairint,intintervals) { if(intervals.empty()) { return 0; } //1.收集所有需要离散化的坐标点 vectorint coords; for(auto p:intervals) { coords.push_back(p.first);//L coords.push_back(p.second 1); // R1 } //2.排序去重 sort(coords.begin(), coords.end()); coords.erase(unique(coords.begin(), coords.end()), coords.end()); //3.差分数组 vectorint diff(coords.size(), 0); for(auto p:intervals) { int L p.first; int R p.second; int idxL lower_bound(coords.begin(), coords.end(), L) - coords.begin(); int idxR lower_bound(coords.begin(), coords.end(), R 1) - coords.begin(); diff[idxL]; diff[idxR]--; } //4.前缀和求最大值 int cur 0; int ans 0; for(auto i:diff) { cur i; ans max(ans, cur); } return ans; } void solve() { int n, a, b, c; cin n a b c; vectorsegment segs(n); for (int i 0; i n;i) { cin segs[i].x1 segs[i].y1 segs[i].z1; cin segs[i].x2 segs[i].y2 segs[i].z2; } int ans 0; //处理x方向 vectorpairint, int intervals_x; for(auto s:segs) { int L min(s.x1, s.x2); int R max(s.x1, s.x2); intervals_x.push_back({L, R}); } ans max(ans, maxoverlap(intervals_x)); //处理y方向 vectorpairint, int intervals_y; for (auto s : segs) { int L min(s.y1, s.y2); int R max(s.y1, s.y2); intervals_y.push_back({L, R}); } ans max(ans, maxoverlap(intervals_y)); //处理z方向 vectorpairint, int intervals_z; for (auto s : segs) { int L min(s.z1, s.z2); int R max(s.z1, s.z2); intervals_z.push_back({L, R}); } ans max(ans, maxoverlap(intervals_z)); cout ans endl; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T 1; // cin T; while (T--) { solve(); } return 0; }map简化// https: // codeforces.com/gym/105911/problem/D #include bits/stdc.h using namespace std; #define int long long #define endl \n struct node { int x, y, z; int x1, y1, z1; }; // 对某个方向求区间覆盖最多点 // coords[i]{l,r}表示第i条线段在该方向上的区间 int f(const vectorpairint, int coords) { mapint, int diff; for (auto p : coords) { diff[p.first]; diff[p.second 1]--; } int cur 0; int ans 0; for (auto p : diff) { cur p.second; ans max(cur, ans); } return ans; } void solve() { int n, a, b, c; cin n a b c; vectornode v(n); // 每个方向存一个区间数组 vectorpairint, int xs, ys, zs; // xs[i]第i条线段在x方向上的区间[min(v[i].x, v[i].x1), max(v[i].x, v[i].x1)] for (int i 0; i n; i) { cin v[i].x v[i].y v[i].z v[i].x1 v[i].y1 v[i].z1; xs.push_back({min(v[i].x, v[i].x1), max(v[i].x, v[i].x1)}); ys.push_back({min(v[i].y, v[i].y1), max(v[i].y, v[i].y1)}); zs.push_back({min(v[i].z, v[i].z1), max(v[i].z, v[i].z1)}); } int ans 0; ans max(ans, f(xs)); ans max(ans, f(ys)); ans max(ans, f(zs)); cout ans endl; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T 1; // cin T; while (T--) { solve(); } return 0; }

相关新闻

基于大数据的新能源汽车销售数据分析系统(源码+lw+部署文档+讲解等)

基于大数据的新能源汽车销售数据分析系统(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/10/11 1:37:32 阅读更多 →
基于大数据的图书管理分析及可视化系统(源码+lw+部署文档+讲解等)

基于大数据的图书管理分析及可视化系统(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/10/11 1:37:32 阅读更多 →
大学生创新创业大赛项目计划书写作指南:从评分表到路演稿的完整方法

大学生创新创业大赛项目计划书写作指南:从评分表到路演稿的完整方法

简介:“大学生创新创业大赛项目计划书”以“快伞”共享雨伞服务为例,完整呈现一份参赛级项目计划书,面向大学生创业者、双创比赛参赛团队及需要撰写商业计划书的人群。计划书围绕共享雨伞的痛点切入,详述了市场定位(上…

2026/10/11 1:37:32 阅读更多 →

最新新闻

通达OA 2017授权机制解析与合法注册重建指南

通达OA 2017授权机制解析与合法注册重建指南

简介:本资源提供通达OA 2017版本的注册与授权支持文件,面向企业信息化管理员、OA系统实施人员及二次开发技术人员,用于解决正版授权受限、部署次数受限或功能模块被锁定等实际运维问题。压缩包共5个文件,含2个关键.dat授权数据文件…

2026/10/11 2:24:01 阅读更多 →
论文压缩包文件处理指南:命令行解压、编码转换与损坏修复

论文压缩包文件处理指南:命令行解压、编码转换与损坏修复

简介:面向FPGA脉压工程学习者的完整工程包,由作者在先前分享基础上补齐遗漏内容后重新整理发布,适合需要仿真验证、阅读工程代码与进阶实践的开发者和学生。压缩包共739个文件、约176.42MB,类型覆盖VHDL/Verilog源码(v…

2026/10/11 2:24:01 阅读更多 →
趣博思AI博士毕业论文:读博最痛苦的时刻,是你发现自己的研究“没有意义”

趣博思AI博士毕业论文:读博最痛苦的时刻,是你发现自己的研究“没有意义”

读博的人,大概都经历过这样一个时刻: 你坐在电脑前,看着自己写了半年的稿子,突然冒出一个念头——我做这个东西,到底有什么意义? 这个念头一旦出现,就很难赶走。你开始怀疑自己的研究问题是不是…

2026/10/11 2:24:01 阅读更多 →
STM32 ADC采集光敏传感器:从硬件分压到OLED实时显示全链路实战

STM32 ADC采集光敏传感器:从硬件分压到OLED实时显示全链路实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 2:24:01 阅读更多 →
冰蝎V4.1流量加密后如何检测?蓝队应急响应与内存取证实战

冰蝎V4.1流量加密后如何检测?蓝队应急响应与内存取证实战

简介:冰蝎V4.1 Behinder 是一款面向网络安全测试与渗透测试人员的 Webshell 管理工具,适用于授权环境下的漏洞探测、防御能力验证与安全研究。资源包共 39 个文件,压缩后约 130.19MB,涵盖 jar 主程序、php/jsp/aspx 服务端脚本、j…

2026/10/11 2:24:01 阅读更多 →
基于Spring Boot + Vue的蘑菇百科系统设计与实现指南

基于Spring Boot + Vue的蘑菇百科系统设计与实现指南

毕设选题年年有人纠结,年年有人踩坑。如果你正盯着“XX管理系统”这类老掉牙的题目发愁,或者担心做纯网页展示类项目显得工作量不足,我强烈建议你认真看看“基于Spring Boot Vue的蘑菇百科系统”这个方向。它既有信息管理系统的完整业务链路…

2026/10/11 2:23:00 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →