- 0
- 0
- 约2.91千字
- 约 2页
- 2024-08-10 发布于北京
- 举报
《平坦的虚线》解题报告
转换问题条件:
本题看似无从下手,但是可以发现一个特殊的情况:折线与x轴夹角的范围
是[-45°,45°],范围大小正好相当于[0,90°],这启发夹角的范围转
换成[0,90°],这样可以使问题更直观。
将坐标轴沿逆时针方向旋转45°,这样问题的其它条件不变,只是虚线与x
轴夹角的范围变成[0,90°]。这样虚线中每一个点与上一个点连线与x轴的夹
角范围必须是[0,90°],换一种说法就是虚线中每个点只能一个的右上方。
具体说就是每个点的横纵坐标必须都小于或等于虚线中前一个的横纵坐标。
对应原有问题:
以前曾经有过一道类似的问题:《》。对于这道问题,如果采用每次
找出一个最长不下降子序列的贪心算法,不一定能得到最优解。一个简单的反例
就是:的高度分别是(按先后顺序)2,2,3,1,2,4,按以上的贪心做法
得到的结果是三次,2-2-2-4,3,1,然而实际上的最优方法应该是两次
,2-2-3,1-2-4。
方法1、这样的贪心算法虽然是错的,但我们不能就此排除采用贪心算法,因为
还可能有正确的贪心策略。我们考虑如下的一种贪心策略:记录下当前每一架高
射的高度,对于当前的,如果没有一架可以,则增加一架;
否则,选择能到它的高射中当前高度最大的一架,同时更新记录。例
如对于以上的例子,算法的工作情况如下:
当前每架高射的高度当前的高度方案
2增加一架高射
22选择当前高度为2的高射
23选择当前高度为2的高射
31增加一架高射
1,32选择当前高度为1的高射
2,34选择当前高度为3的高射
这样一共使用了两架高射。使用这个算法,我们可以解决《》问
题。
现在,我们回到原有的问题,可以发现这道题也可以采用上面说的第二种贪
心算法解决。现将所有点按横坐标大小排序,横坐标相同的点按纵坐标大小排序。一
开始高度集合H为空,以后对于每个点,若H中没有一个数小于这个点的y坐
标,则将y坐标加入到H集合中,虚线数加1;否则在H中寻找小于y坐标值且
最接近y坐标值的数,用当前点的y坐标值替换H中选取得数。
数据结构:
如果用线性表实现集合H,算法的时间复杂度是O(N^2),由于题目中n的范
围很大,显然题目的条件。由于这道题的查询工作有一定的特殊性:要
在集合中寻找小于且最接近于一个数的数,因此一些高效的数据结构如堆等都不
能满足要求,所以我们只能采用一种比较灵活的高效数据结构:树状数组。实现
的时候可以采用二叉排序树,这样算法的空间复杂度是O(N),时间复杂度是
O(NlogN)。
方法2、
方法1虽然可以解决问题,但是否还有更简单的方法呢?
定理:一个序列中最长上升子序列的长度等于不降子序列的最小
您可能关注的文档
- android实训-5次课字符串常见方法重载继承理解初步其它语言基础.pdf
- 分析路1080n系列3520dv300方案.pdf
- android学习笔记初学者多媒体应用.pdf
- 植物应用造景几点体会.pdf
- 指数平滑法重近轻远.pdf
- 独家教你常见问题一对一解答.pdf
- 序言微课前言.pdf
- 英语听力原文b20055统考正式试题.pdf
- 武都所百万元半工作结.pdf
- 高速单路双刀双掷模拟开关ds chip usbswitch et7222.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
- 工业5.0指数:国家如何重塑2025年的经济进步.docx
- 【蔚云科技】亚马逊【扫地机器人】行业消费者洞察报告.docx
- 青海大通县朔山中学2025-2026学年高三下学期开学考试政治+答案.docx
- 青海大通县朔山中学2025-2026学年高三下学期开学考试英语+答案.docx
- 东北师大附中2025届高三下学期期初考试-英语试题+答案.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试政治试题(含答案).docx
- KPMG -欧洲数字产品护照 European Digital Product Passport.pdf
- 腾讯安全沙龙:后渗透新维度:利用Chrome插件后门实现持久化与凭据窃听.pdf
- 可持续发展报告调查:2025年结果.docx
原创力文档

文档评论(0)