首页 > 其他分享 >Diary - 2024.12.19

Diary - 2024.12.19

时间:2024-12-19 22:31:29浏览次数:4  
标签:2024.12 log 19 线段 Diary mathcal 复杂度 变量

非常不厉害的是此时我还欠了:

  • Solution - Atcoder ARC189E Straight Path
  • Solution - Luogu P11392 [JOI Open 2019] 三段跳び

然后我却跑过来写日记了,是否有点抽象。
算了不管了,反正现在都是补课中途抽点时间来学学,哪需要管这么多。


实际上我原本一直想揪点时间读下《研究之美》的。

但是已经到周四了我还是只读了一章,感觉我要废掉了。


颜色段均摊的线段树写法 - robinyqc

不是这真的是天才。

考虑到对于正常的颜色段均摊,时间瓶颈就是维护需要带 \(\log\)。
那么实际上对于 setmap 等维护方式,其实线段树是最好写的阿。

我觉得这个的时间复杂度分析会稍微不同点,所以我写下吧。
实际上可以先以 \(\mathcal{O}(\log n)\) 的代价实现线段树上边界的分离,其实就是把 \([l, r]\) 这段区间分开。
考虑对于每个连续段,那么实际上其复杂度最劣下就是类似于线段树直接查这个区间。那么也能知道是 \(\mathcal{O}(\log n)\) 的。
于是时间复杂度是 \(\mathcal{O}(q\log n + \varphi\log n)\) 的,依然相同。

而且这样的一个极大好处是,对于区间查询信息可以直接在过程中维护。
而且或许在 相同合并段信息合并优秀但分裂差(合并只能类快速幂二进制合并时) 会很优秀。

其实刚刚这个想法就已经点出了一个可用之处了:
即贡献方式就为幂次,对应范围为 \([l, r]\),值为 \(v\) 的连续段的权值为 \(v^{\sum\limits_{i = l}^r a_i}\),区间查询一个区间分离开的所有极长连续段权值和,查完后整体赋值。

那么如果正常做就需要快速幂处理左右边界的情况,就需要带一个 \(\mathcal{O}(q\log \operatorname{mod})\) 了。
但是这个方法就不用,因为可以借用线段树信息直接合并,是不是有点厉害。

哦我错了,其实可以单开一个线段树维护关于 \(v\) 的信息然后查询的吧。
确实有道理,不管了,常数大(


我怎么直接编了个题出来,我是不是无敌了。

由此可见,如果真的对一个东西感悟挺深的话,编题或许不难(?)。
但是问题是必须是从这个东西出发思考问题,思维可能被局限,我不太喜欢。

我发现我在 2024.12.06 也写过这个东西。


Luogu P11392 [JOI Open 2019] 三段跳び

当然这不会是题解,只是一些感悟。

看完题我就知道是支配对,但是找不到支配对入手的地方,寄掉了。
于是又去想了想根号算法(为什么 \(5\times 10^5\) 也要想根号?原来是我背的时候忘记记数据范围了,666),也没啥想法。

然后就只能去看题解了,奇耻大辱喔。

其实找支配对的核心就是 除去无用状态。
那这些除去的过程能从哪里去发现呢?

  1. 去除掉部分变量,只关心部分变量,尤其是只考虑两个会好些。
  2. 如果有不等式,类似于 \(\le\),那么就是要去思考 左式变小 或者 右式变大。
  3. 让变量能缩减的范围尽量集中,或者说让可选范围尽量少。
  4. 通常只需要考虑让一个变量不动,另一个变量动。

怎么没时间了,qaq。
怎么感觉有很多时间还是写不完阿???

标签:2024.12,log,19,线段,Diary,mathcal,复杂度,变量
From: https://www.cnblogs.com/rizynvu/p/18617977

相关文章

  • 12月19(信息差)
    ......
  • 2024.12.18 周三
    2024.12.18周三Q1.1000Youhaveanarrayofzerosa1,a2......
  • 20222319 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    1.实验内容1.1本周学习内容(1)掌握基于html、php等编程工具实现简单前后端的编写(2)理解apache在网站展示中的意义,认识到tomcat等web应用服务器工具的使用(3)学习到以mysql为代表的数据库在网页项目中的具体使用(4)通过webgoat、DWVA、pikachu等平台理解sql注入、xss、csrf等攻击的原......
  • 洛谷 P11337 「COI 2019」IZLET 题解
    如果每条边连接的两个点颜色都不相同,那么可以使用如下策略确定每个点的颜色:令\(c_{i,j}\)为\(i\)到\(j\)的路径上的颜色数。对于每个点\(u\),以其为根进行一次dfs,往下找直到找到一个和它颜色相同的或者一个叶子就回溯,如果遇到颜色相同的就将它们在并查集上合并。考虑如何......
  • Lecture 19-平方阶排序算法
    直接插入排序外循环:遍历所有元素,将当前R[i]记为K内循环:从当前i-1开始,j往前遍历,从右往左找第一个<=当前K的元素R[j],将该元素的右边的第一个元素修改为K逐个插入,插入时即确定位置/*直接插入排序*/voidInsertionSort(intR[],intn){//对R[1]...R[n]排序 for(inti=......
  • 12.19 CW 模拟赛 T1. 烟花
    思路转化题意移步赛时记录详细题解见题解下载好的那么主要问题仍然是怎样做才能扔掉后效性,乍一看是不可能的,但是我们可以慢慢的考虑首先我们需要利用有效时间段\(\leq500\)这个条件,我们考虑建出每种选择的情况,再按照树上的仇恨关系建出图具体的,对于每一种\([j......
  • LeetCode-19. 删除链表的倒数第 N 个结点,关于删除链表会遇见的指针问题
    原题链接前言虽然这道题比较简单,但是我在做这道题时发现了几个需要注意的地方,故写个笔记提一下。正文先将源代码给出来classSolution{public:ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*x=newListNode();x->next=head......
  • 12.19 CW 模拟赛 T2. 数
    思路赛时读错题了,虽然说读对了不一定能做出来,但是还是比较可惜首先阐述一下题意,对\(S\)数组进行插入和删除操作,每次询问让你用\(T\)中的质数组合出\(x\),然后将\(S\)中的数乘以\(x\)之后求最多的完全立方数个数那么显然的,我们对于每一个数,都可以拆成质......
  • 12.19 CW 模拟赛 赛时记录
    前言考试的时候只需要管考试的策略就行了,其他的想他干嘛看题一般来说,涨信心模拟赛都不会涨信心像一位故人出的题?\(\rm{T1}\)相信自己,冲一下\(\rm{T2}\)看不懂\(\rm{T3}\)博弈\(\rm{T4}\)困难\(\rm{T1}\)机房两青轴是真的蚌埠思路转化题意,对于\(N\)条线......
  • 有了React 19新编译器,真的就没有性能问题了吗?
    有了React19新编译器,真的就没有性能问题了吗?原文链接:HowReactCompilerPerformsonRealCode作者:Adevnadia译者:倔强青铜三前言大家好,我是倔强青铜三。我是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信......