06 2024 档案
摘要:
P2042 [NOI2005] 维护数列 一道思路不难,但实现细节很多的平衡树题,调了一天半终于做出来了w。 对于初始序列,我们可以直接构建一条链(毕竟一个一个调用插入函数也可能形成一条链)。题解有递归直接构建成一棵严格平衡的二叉树的,这样也可以,常数可能会小一点。 其中区间反转就是裸的文艺平衡树(
阅读全文
![[题解]P2042 [NOI2005] 维护数列 - Splay解法](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240623204429076-384861609.png)
摘要:
P3391 【模板】文艺平衡树 给定序列\(1,2,\dots,n\),接下来\(m\)次操作,每次操作给定\(l,r\),你需要翻转\([l,r]\)。 所有操作结束后,请输出这个序列。 我们先从“普通平衡树”这一题出发,思考一下Splay操作的本质。 我们把一个节点Splay到根节点后,中序遍历
阅读全文
![[题解]P3391 文艺平衡树 - Splay解法](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240620164115398-1144657141.png)
摘要:
前置知识:树的左旋、右旋。 Splay树是一种平衡树。能够做到每个操作均摊\(O(\log N)\)。 前言 与上文AVL树不同之处在于,AVL树在任何操作结束后,都能保证每个节点的左右子树高度相差不超过\(1\)。相应地,每个操作都是严格的\(O(\log N)\)。而Splay树并没有对“平衡”
阅读全文
![[笔记]Splay树](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240619215742139-1976382973.png)
摘要:
AVL树是一种严格平衡的二叉搜索树,任何操作结束后,都能保证每个节点的左右子树高度相差不超过\(1\)。 内容源自BV1rt411j7Ff - 【AgOHの数据结构】平衡树专题之叁 树旋转与AVL树。 模板题:P3369 【模板】普通平衡树。 结构体定义 & 基本函数 struct node{ in
阅读全文
![[笔记]AVL树](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240616120012482-724784746.png)
摘要:
AtCoder ~ E - Alphabet Tiles Luogu ~ ABC358E Alphabet Tiles 题意简述 给定正整数 \(K\) 和 \(C_1,C_2,\dots,C_{26}\)。请求出长度在 \(1\) 到 \(K\) 之间,满足下列条件的字符串个数(取模 \(9982
阅读全文
![[题解]ABC358E Alphabet Tiles](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240616114218574-971657867.png)
摘要:
P9432 [NAPC-#1] rStage5 - Hard Conveyors 题意简述 给定一个\(N\)个节点的树形结构,其中有\(k\)个关键节点。 接下来有\(q\)次询问,每次询问给定\(x,y\),请输出\(x\)到\(y\)至少经过一个关键点的最短路径。 解题思路 我们发现,这道题相
阅读全文
![[题解]P9432 [NAPC-#1] rStage5 - Hard Conveyors](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240610201029545-1845641866.png)
摘要:
P9433 [NAPC-#1] Stage5 - Conveyors 题意简述 给定一个\(N\)个节点的树形结构,每条边有边权,树上有\(k\)个关键点。 接下来有\(q\)次询问,每次询问给定\(x,y\)两点,请计算从\(x\)开始经过这\(k\)个关键点(可以重复经过)再到\(y\)的最短路
阅读全文
![[题解]P9433 [NAPC-#1] Stage5 - Conveyors](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240610190530639-1120110746.png)
摘要:
P1967 [NOIP2013 提高组] 货车运输 题意简述 给定一个\(N\)个节点,\(M\)条边的无向图,其中每条边有一个边权。 接下来给定\(q\)次询问。每次询问给出\(x,y\),请计算\(x\)到\(y\)路径上最小边权的最大值是多少。 解题思路 我们对于每个连通块跑一遍最大生成树。这
阅读全文
![[题解]P1967 [NOIP2013 提高组] 货车运输](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240609154920314-1322626321.png)
摘要:
P3398 仓鼠找 sugar 题意简述 给定一个\(N\)个节点的树形结构。接下来有\(q\)次询问,每次询问给定\(4\)个节点\(a,b,c,d\),请计算\(a\)到\(b\)的简单路径和\(c\)到\(d\)的简单路径是否有相交的节点。对于每个询问,输出Y/N表示答案。 解题思路 & Co
阅读全文
![[题解]P3398 仓鼠找 sugar](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240609131244365-1555757901.png)
摘要:
P6374 「StOI-1」树上询问 题意简述 给定一个\(N\)个节点的树,接下来有\(q\)次询问。每次询问给定\(a,b,c\),请问存在多少个节点\(i\),使得这棵树在以\(i\)为根的情况下,\(a\)和\(b\)的LCA是\(c\)。 解题思路 & Code 首先通过分析样例,我们发现
阅读全文
![[题解]P6374 「StOI-1」树上询问](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240608172717693-1754280463.png)
摘要:
UVA11235 Frequent values 没看到多测调了半天 每组数据给定\(n,q\)。接下来给出一个长度为\(n\)的不降序列\(A\)。接下来\(q\)次询问,每次询问给定\(l,r\),求\(A_{l\sim r}\)中出现最多的那个数出现了多少次。 \(1\le n,q \le 1
阅读全文
![[题解]UVA11235 Frequent values](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240602141247075-1173905919.png)
摘要:
P4381 [IOI2008] Island 题意:给定一个基环树森林,求每个基环树的直径之和。 我们发现,一棵基环树的直径只有下面两种情况: 环上的某一点作为根的子树的直径。 环上有两点,每个点引出一条链,然后再将这两点相连。 对于第一种情况,我们仅需用树形dp的方法求出每个子树的直径(见OI W
阅读全文
![[题解]P4381 [IOI2008] Island——基环树直径](https://img2024.cnblogs.com/blog/3322276/202406/3322276-20240602120819620-1900382894.png)