首页 > 其他分享 >闲话 Day9

闲话 Day9

时间:2023-05-30 21:14:37浏览次数:56  
标签:递归 Day9 闲话 复杂度 分治 键盘 线段 但是

闲话 Day3:

所以,就不得不功利化一点了。

而实际上呢。。。

这是什么,有意思,研究一下。
这是什么,好优秀,实现一下。
这是什么,计数题,绿的,不会,下一个。
这是什么,计数题,黄的,不会,下一个。
。。。。。

我终于意识到了做事凭兴趣这一点是很难改变的。

所以这几天又去仔细参悟了一下分治与分治数据结构。
本来想记下来的,但是感觉东西很多很费时间。
所以等过几天再说吧。
大概在南京的时候会写一写吧。

这次是学术闲话来着,所以就把刚刚口胡出来的东西写一写吧。


线段树分治

这道题正解貌似是点分治一类的东西。
但是我记得在模拟赛里面遇到这个题的时候题解给的是线段树分治。
事实上,使用线段树分治 + \(O(1)\) LCA 可以做到 \(O(n \log n)\) 的时空复杂度。
还是非常优秀的。

然而,今天突然就想到了一个问题:
线段树分治的空间复杂度能不能做线性。

(主要是参悟了分治数据结构与分治的关系之后感觉很可做)

事实证明可以做到而且并不难想。

首先前置知识,为什么线段树区间修改的复杂度是对的。

当一个区间在线段树上向下递归的时候,分为两种情况:

  1. 左右都不贴边界。
  2. 贴左边界或贴右边界。

容易发现,对于第一种情况,最多只会分裂一次,然后变成两个贴边界的区间。
而对于第二种情况,要么单向递归,要么双向递归但是其中一边是满的。
而满的区间显然就不会向下递归了。

所以最终的复杂度为 \(O(\log n)\),严谨分析的话最多会访问 \(4 \times \log n\) 个点,修改最多影响到 \(2 \times \log n\) 个点。

好了回到原问题,线段树分治。

假如现在有 \(m\) 个区间,我们先不把它们都下放到线段树对应节点上,先统一堆到根节点。
现在我们要去遍历整棵树了,到达一个节点的时候再去把区间都下方。

首先考虑左右都不贴边界的情况,显然不会影响空间复杂度。
毕竟都是单向递归,而且只会分裂一次。

再考虑贴左边界的情况,其实也好处理。
要么只向左递归,不考虑。
要么左右递归,但是向左递归的部分直接就是整个节点修改,所以贡献是 \(O(1)\) 的。
而且接下来马上就要递归左子树了,马上就会被消掉。

最后考虑贴右边界的情况,这个有点寄。

如果只向右递归还是不用处理。
考虑左右都递归。
如果我们直接分裂到左右子树上,会导致某个区间直接霸占一整个左链的所有右儿子。
然后空间复杂度又变成 \(O(n \log n)\) 了。

事实上,我们可以先将其整个下放到左儿子上。
然后等左子树递归完了之后,再从左儿子那里拿回来。
然后下放到右子树,这个是 \(O(1)\) 的没有什么问题。

不理解的话可以手动模拟一下。
画出来其实有点像蕾米的翅膀来着。

这样的话相当于是一个递归又回溯的过程。
时间复杂度不变,一个区间还是只遍历 \(O(\log n)\) 个节点。
但是空间复杂度直接降到了 \(O(n)\) 而且常数并不大。
全是 vector 操作啊那没事了。

实现的话。。。
虽然看上去上述流程很麻烦而且还要分类讨论。
但是实际上写成递归函数的话也还好。
至少并没有比常规的线段树分治难写多少。

等我有时间了去实现一个,现在先咕咕咕。


上次报了个公开赛,但是只是看了看最后一题,没有打。
我自己也在 INOH 和 STAOI 分别出了一个题。

但是,出这些题的目的是什么?

如果只是为了难住别人的话那可就太闲了,属实无意义。
如果是为了分享某些 trick 的话其实可以写博客的。
而且像我这样自己啥都不会也没啥必要去往外分享东西。。。

然后我才发现貌似这次出题比较偏离本意了。

本来确实是发现了一个有意思的东西。
然后决定出个题玩玩。
然后发现其他方法跑得也很快,可以草过去。
然后就开始对着除了这个 trick 以外的地方卡常,叠科技。
然后把其他做法卡掉了。

每一步都和上一步衔接紧密,但是总的来看完全偏离了本意。

再考虑考虑,其实有很多的事情都是这个样子。
随着时间发展完全偏离了其本意,但是又处于某些原因无法废除/修改。
或者说,甚至很多人都没有意识到。

有一些想说的例子,但是不合适,不说了。
换一个经典无害的吧。
(怎么又举这种例子啊啊啊啊啊啊啊啊啊啊)

关于出题/考试。
考试原本的目的是啥来着,选拔人才是吧。
出题也就是全面考察一下知识掌握程度和综合素养一类的。

但是随着教育的发展这东西变成了啥。
学生开始去学做题套路,应试技巧,背一些前人总结下来的模板。
真的就是一些除了应付考试啥实际意义都没有的东西。

在闲话 Day3 里面貌似稍微提到了一点,不多说了。
当时感觉,只是因为沾了不少功利化的东西才会演变成这样。

但是现在看来好像并不是。即使功利无关也会这样。
我们周围确实就存在着大量类似的无意义的东西。
有些可能类似于形式主义吧,反正大体就是完全偏离本意。

经典例子,为啥键盘上的字母是乱序排布的。

在最开始,确实是顺序排布的。
但是当时的键盘有一个很大的问题,就是不能同时按两个键,否则就会卡死。

键位顺序排布确实很有利于提高打字效率。
但是打字快了就不可避免的会出现卡死的现象,反而降低了效率。

于是有个人就发明了现在的这种键盘。
特殊构造使得常用的词块隔得比较远
发售之后,由于其非常独特,当时非常火。
再加上确实不容易卡死(打字速度下降了不少),所以后来就成为了主流键盘,一直到现在。

大概总结一下,目的是提高效率避免卡死。

但是现在呢?
现在的键盘同时按下所有键都不会卡死的吧。
字母乱序排序一定程度上不仅降低了效率,还提高了上手难度。
然而现在再也看不到顺序排布的键盘了。
甚至没有人再去提起过这个东西。

随着时间的推移和时代的发展,键盘的结构违背了其本身的目的。

对此的一种解释是,兼容性问题,习惯问题。
多数人都习惯了乱序键盘,现在推出顺序键盘没有市场。
或者说,第一批使用顺序键盘就意味着要同时适应两种不同的键盘。

但是。。。。
当时改成乱序键盘就能适应,现在改回顺序键盘就无法适应是吧。

如果多数人都能去仔细考虑这个问题的话可能键盘模式早就改回去了。
或者,改成另一种效率更高的排布方式。
普及这种东西的成本可能要远低于普及 5G 或者新款手机一类的,毕竟并不是所有人都每天接触键盘。
而且带来的收益大概是非常大的。

所以最后得出的结论是,我真闲啊。

貌似多数人都不会在每个细节处都去考虑,这种设计的本意是什么。
因此,大量的偏离本意的东西就这样被人们忽视,然后起着负作用。

大概我是没有必要关心这种东西的吧。
但是多留意一下总是有好处的。
至少可以让我少做很多毫无意义的事情。

忘了听哪里说的了,你谷要取消博客了(????)
其实也好,至少不至于以后突然翻到了现在写的博客。
然后打开一看,答辩。
就像看小学写的作文一样。

这已经将近 40 天了吧,怎么才写了 ⑨ 期闲话。
。。。。。

标签:递归,Day9,闲话,复杂度,分治,键盘,线段,但是
From: https://www.cnblogs.com/-Houraisan-Kaguya/p/17444469.html

相关文章

  • 「闲话随笔」「DROI」Round 2
    「闲话随笔」「DROI」Round2点击查看目录目录「闲话随笔」「DROI」Round2P9373「DROI」Round2构造与取模P9374「DROI」Round2单图P9375「DROI」Round2划分P9376「DROI」Round2进制与操作题挺好玩的。P9373「DROI」Round2构造与取模发现\(k,n-k\)即......
  • 「闲话随笔」卢卡斯定理证明
    「闲话随笔」卢卡斯定理证明点击查看目录目录「闲话随笔」卢卡斯定理证明今天看见同桌在求导,于是问他会不会证明卢卡斯定理,他说不知道这玩意。然后突然发现我也不会......
  • 【安全学习之路】Day9
    今天nss的题估计不会做了,晚点看看ciscn以前的题(萌新第一次参赛,看看强度)......
  • 代码随想录Day9|
    28.实现strStr() 在一个串中查找是否出现过另一个串,这是KMP的看家本领说到KMP,先说一下KMP这个名字是怎么来的,为什么叫做KMP呢。因为是由这三位学者发明的:Knuth,Morris和Pratt,所以取了三位学者名字的首字母。所以叫做KMP KMP主要应用在字符串匹配上。KMP的主要思想是当......
  • MySQL学习基础篇Day9
    6.事务6.1事务简介事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。就比如:张三给李四转账1000块钱,张三银行账户的钱减少1000,而李四银行账户的钱要增加1000。这一组操......
  • 「闲话随笔」恋恋扰动星之器
    「闲话随笔」恋恋扰动星之器点击查看目录目录「闲话随笔」恋恋扰动星之器koishi的数学题星之器扰动法其实就是写一个koishi的数学题的题解和星之器的题解和扰动法的讲解。jijidawang说今天是恋恋日所以推荐我写koishi的数学题,不然这篇闲话是没有这道题的。为啥我盯......
  • 闲话 Day7
    去了THUSC。一个个的都好强啊。。。行了直接开始学术部分吧。回顾一下做过的两场USACO。简单概括一下,就是算法/数据结构学傻了。一个黄题被我做成了紫题的难度。所以,开始返璞归真吧。尝试不使用高级算法/数据结构来解决问题。文艺平衡树啊对对对,又是文艺平衡树。上次......
  • 闲话 Day6
    快速梦境变换(FastDreamTransform,FDT)这个现象还挺少见的。貌似这是第二次或者第三次。不过时间都是在中午,一小时左右。地点在学校,时间是中午。其他人刚刚结束假期回来。现在该回宿舍了吧。。。但是学校正在修路。宿舍楼后面操场那块被推成了一道很深的坑。中间还有很多......
  • 4.19 闲话 | 期中考游记
    自闭了,怎么大家都是人win啊期中考一塌糊涂,别说了。算了还是记录一下吧\(Day~-2\)考场发了。我一看,不得了,怎么还是在质检那鬼地方啊???上次质检就考得烂死了,这次还在那考,是不是要寄到底啊???位置就在中间那组第一排,笑死,直接在老师眼皮子底下做题。\(Day-1\simDay~0\)在家里......
  • 闲话 Day5
    事实证明,更新间隔是以指数速度增长的。虽然但是,不是说PKU比THU好过吗。。。两个决定了去PKU的结果PKU没过,啊对对对。想要写一个色は匂へど散りぬるを。但是好像很难打出来的样子啊,那没事了。原曲神々が恋した幻想郷,也推荐听一听。这个可以方便的搜出来。行了直接......