首页 > 其他分享 >闲话 Day11

闲话 Day11

时间:2023-06-12 22:11:13浏览次数:42  
标签:frac log 分块 闲话 复杂度 Day11 东西 怎么办

被各种题薄纱的一天。

看了题解才发现机场修建有一车复杂度优秀而且好写常数小的做法。
这么看把这个题放上去还是非常有意义的。
至少能让我想起来分块是可以用来代替树状数组的。
以及属实降智了。
菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办菜死了怎么办。

下次有题还是要放出去的。
静等巨佬爆标。

所以这期的学术闲话。。。
是真正的学术闲话!
可能不同于之前某些中间插播了一点点学术的纯闲话。
放点有意思的东西。


首先回收一下之前某次闲话里面写的东西。
文艺平衡树那个题,用强制在线 CDQ 是可以做到 \(O(n \log n)\) 的。
具体做法参考 EI 的某训队论文。
其实就是给这 \(\log n\) 个块倒着加了个分散层叠,然后分析一波复杂度。
只能说还是见的东西太少了。

大简单题

注:数据范围和时空限制没有参考价值。读个题面就好了。

首先考虑这东西强制在线之后有什么经典做法。

首先是主席树/划分树,时空 \(O(n \log n)\)。
然后是分块,时间 \(O(n \sqrt {n \log n})\),空间 \(O(n)\)。
然后可以用 kdt / 分散层叠优化分块,时间 \(O(n \sqrt n)\),空间 \(O(n)\)。

然而我们知道,如果可以离线的话,是存在时间 \(O(n \log n)\) 空间 \(O(n)\) 的做法的。
这么看在线算法就太差了。

而这道题卡了空间,所以貌似只能分块。
这合理吗?
无论怎样,还是要追求一下 polylog 算法的吧。

都强制在线了,还分治个球球。
先把分治放一放,考虑平衡复杂度。

你已经是一个成熟的渐进复杂度了,该学会自己和自己平衡了。

首先考虑,我们有个东西叫分散层叠优化分块。
也就是分块,块内排序,扫每个块二分。
分散层叠是用来加速多个块二分的。
这东西的查询复杂度是 \(O(\sqrt n + \log n)\)。
这主要是因为块数是 \(O(\sqrt n)\) 的。

于是就很容易想到,我们可以调大块长。
直接把块长调到 \(O(\frac{n}{\log n})\),这样整块查询的复杂度就变成了 \(O(\log n)\) 了。
但是散块就显得有点太大了。
没关系,遇到问题直接递归处理。
等长度小于 \(O(\log n)\) 之后直接爆扫。
好了算法流程完成了。

分析一下复杂度。
首先是查询,\(T(n) = T(\frac{n}{\log n}) + O(\log n)\)。
查询巨佬得到 \(T(n) = O(\log n)\)。
单次查询一个 \(\log\),基本上已经是下界了。

考虑空间复杂度。
显然是 \(n\) 乘上层数。

这个层数还挺难算的。
但是我们发现这个结构等同于多叉分治 NTT。
直接套用结论,可以得到空间复杂度为 \(O(\frac{n \log n}{\log \log n})\)。

直接取 \(n = 10^6\),发现层数不超过 5,可以认为 \(O(\frac{\log n}{\log \log n})\) 只是一个大常数。
可以说复杂度碾压主席树。
(虽然代码量也碾压主席树)


不要急,学术部分没完呢。
搞出来上述算法其实是为了另一个 简单题

这个题同样卡了空间,结果只剩下一堆不优雅的根号算法。
但是借助 \(\log\) 分块和强制在线 CDQ,有可能可以让 polylog 算法卡过去。

做法的话其实同文艺平衡树那里。
考虑动态维护递归树,然后启发式合并。
这部分不用管复杂度自然对。

然后考虑我们现在有 \(\log n\) 个块。
每个块都可以认为是静态的二维平面。
然后使用上面那个题的做法进行预处理即可。

时间复杂度 \(O(n \log^2 n)\),空间复杂度 \(O(\frac{n \log n}{\log \log n})\)。
没有打。希望空间可以卡过去吧。

依赖这种妙妙东西,其实树套树一类的完全被碾压了。
虽然从代码量上看这种分块很不实用的样子。


和简单题这个题已经打了很久了。
一直在想能不能做 polylog,但是之前没成功过。
强制在线 CDQ 就是这么出来的。

本来是西安的前一天晚上想起来的这个东西。
刚想出来的时候感觉好妙。

然而,过了这么几天吧。。。。
逐渐意识到无非就是多叉线段树,拿分散层叠优化了一下而已。貌似是个平凡东西。
而且空间复杂度,只能说很不错了,但是感觉仍然不是很满意。
毕竟没有做到线性。
渐渐感觉这东西比较水了。

jjdw 是不是给我推过成神之日来着。

(准备引用一句话。)
(但是如果看过的话似乎也知道我想说什么了,没看过那不知道就不知道吧。)
(所以不写在这里了。)

感觉学 OI 过程中很多东西都是这样子的吧。
比如这东西。本来看名字和颜色以为是什么神仙科技来着。
然而 APJ 给我两分钟讲完了。
只能说原理简单实现容易。

我学 OI 主要靠的是兴趣来着。
而很大的组成元素就是 OI 中各种神仙东西。
然而事实证明这东西并不足够持久。

按逻辑往下,下文会是什么?
通过一堆推导得到另一个支柱?
然而并不是。

还有一些其他的问题需要解决。
因为还没想明白,所以后面不写了。


已经忘掉了学 OI 是什么样子的了。
好像最近一直都在专心研究某一个小部分。
其他部分完全没咋碰。例如这两天的 DP (尤其是数位DP)一点不会。
感觉更像学术而不是竞赛。
就像之前的 joke 和现在的 gtm 一样。

但是也许并不重要吧。
看到了更多更本质的东西。也算没有白浪费时间了。

之后?
你觉得我会去安心补计数吗。
说不好,看心情。


来这里之后脑子要停了。。。。
感觉一个主要原因是困。

或许是生活条件变好了,不再考虑以后了?
不好评价。

但是我的意见是确实可以先停一停。
毕竟回去之后的时间还有一年,这边的时间却只有半个月。
多见点新东西总是比自己乱想要好的吧。

标签:frac,log,分块,闲话,复杂度,Day11,东西,怎么办
From: https://www.cnblogs.com/-Houraisan-Kaguya/p/17476229.html

相关文章

  • 6/12 闲话
    今日推歌:神っぽいな/ピノキオピー歌词今天除了T1都不会,打完暴力分就开始发呆T1:考场上一眼原,虽然之前没做过,但是很快就搞出来了设\(f_i\)为目前有\(i\)张邮票,要买到\(n\)张邮票的期望次数,写一个逆推套路式子:\[f_i=\frac{n-i}{n}(f_{i+1}+1)+\frac{i}{n}(f_i+1)......
  • 闲话:错误的,OI就是权贵的游戏
    起因是我在知乎的某篇文章下面发表了“错误的,OI就是权贵的游戏”的观点,结果貌似大家都不太赞同我的观点,想了想感觉大家可能对我有所误会,所以我决定把我的观点再讲清晰一点。首先我先说一下我的个人经历,因为一个人的观点总是从他的个人经历结合他的社会阅历得到的,所以说一下我的经......
  • 6/11 闲话
    学别人推个歌:逃避行——Imase歌词さよなら逃避行昨日の酔いも覚めない君と抜け出す街を行こう背負い込んだ重い過去も飲み込んだ思いすらも乗り越えた乗り越えた二人で錆びついたこの心も夢を見たあの気持ちと飛び込んだ飛び込んだ二人でさよなら......
  • 6.10 闲话
    今天和昨天都被dp真实了,得好好补补dp了。一个式子能推我一天,我真服辣。下面说正事昨天打入门赛了,感觉出题人对"她"是........当时我读题就感觉看到了自己,但人家比我好啊......我还真应了我的名字Jokest(但其实我是因为这事才取的Jokest的名字)我真的有很多话想说,但是总说不......
  • 闲话 Day10
    已经是第10期了。总体来说还是很高产的吧(?)然而,写闲话是需要大量思考的吧。而最近比较困,所以啥也没想,或者说至少除了学术以外啥也没想。然后才想起来,我要写的是闲话,不是什么大众读物。不需要有什么主题,不需要有大致内容或者方向。就随便写一写漫天乱逛可能更像是一篇闲话吧......
  • 「闲话随笔」期末考试与高考集训
    「闲话随笔」期末考试与高考集训点击查看目录目录「闲话随笔」期末考试与高考集训推歌:《崩坏:星穹铁道》OP星间旅行。原唱是茶理理,四舍五入就是星尘。今天是真挺闲的。上午11点左右放假,下午4点就回来了......
  • 【闲话】2023.06.04
    简单记一下最近的事。期末进步了,虽然还是不满意吧。尤其是物理和语文。但是!我英语小作文满昏!没考过这样的,孩子乐傻了。高考放高考假好耶。但是六点半的早读是一败笔。祝学长学姐高考顺利!后面忘了但是塞尔达传说:王国之泪是……......
  • 闲话 Day9
    闲话Day3:所以,就不得不功利化一点了。而实际上呢。。。这是什么,有意思,研究一下。这是什么,好优秀,实现一下。这是什么,计数题,绿的,不会,下一个。这是什么,计数题,黄的,不会,下一个。。。。。。我终于意识到了做事凭兴趣这一点是很难改变的。所以这几天又去仔细参悟了一下分治与......
  • 「闲话随笔」「DROI」Round 2
    「闲话随笔」「DROI」Round2点击查看目录目录「闲话随笔」「DROI」Round2P9373「DROI」Round2构造与取模P9374「DROI」Round2单图P9375「DROI」Round2划分P9376「DROI」Round2进制与操作题挺好玩的。P9373「DROI」Round2构造与取模发现\(k,n-k\)即......
  • 代码随想录Day11|栈和队列
    20.有效的括号经典的利用栈的题目这里选择用java来写,注意我们的java中的泛型不能用基本数据类型,而是应该使用包装类注意!java一定是定义后需要声明,然后才能使用1047.删除字符串中的所有相邻重复项 略比较简单150.逆波兰表达式求值注意:leetcode内置jdk的问题,不能使......