P1955 [NOI2015] 程序自动分析
1|0P1955 [NOI2015] 程序自动分析
1|1基本思路
考虑到了不等号的不可传递性,所以决定只开相等的并查集。
然后突发奇想,觉得可以在找父亲的过程中判断是不是冲突。
然而这样就不能路径压缩,显然超时。
并且,根本没看清楚数据范围,实际上这题的数很大,裸开数组会爆炸。
这是一开始的代码
1|2改进思路
针对超时
其实完全可以继续路径压缩,然后对于一个需要
针对数据
离散化就行。
-
先做好基本的排序、去重。
这里用
std::unique
,把重复元素都移到vector
尾部。然后dt.erase(std::unique(dt.begin(), dt.end()), dt.end());
来去重。 -
然后进行离散化。
-
本题可以离散化是因为只要区分出不同数据即可,不需要知道数据本身是什么。
-
即按照数据在数组中第几大来给数据一个新的映射值。
-
-
代码实现
第一次尝试面向对象风格
__EOF__

本文作者:Kdlyh
本文链接:https://www.cnblogs.com/kdlyh/p/17862770.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/kdlyh/p/17862770.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
语言(CPP)
, 做题报告(2023+)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下