随笔分类 - 题解
摘要:
给定一个长度为\(n\)的\(01\)串\(s\),用于表示一个环上的细胞的初始状态,其中第\(1\)个细胞与第\(2\)个、第\(n\)个细胞相邻;第\(n\)个细胞与第\(1\)个和第\(n-1\)个相邻。\(0\)表示细胞死亡,\(1\)表示细胞存活。接下来给定\(t\)轮操作,每一轮操作,根
阅读全文
![[题解]细胞自动机](https://img2024.cnblogs.com/blog/3322276/202407/3322276-20240706221502586-386378868.png)
摘要:
题意简述 有一个星系,共有\(n*m\)个星球,排成\(n\)行\(m\)列。 初始星球之间没有道路。接下来给定\(P\)种魔法\(1\),\(Q\)种魔法\(2\): 魔法\(1\):第\(i\)种魔法用\(a_i,b_i,c_i\)描述。表示你可以任选星系的一行,在第\(a_i\)和第\(b_i
阅读全文
![[题解]逃离地球](https://img2024.cnblogs.com/blog/3322276/202407/3322276-20240706221311452-270373666.png)
摘要:
[题解]P1083 [NOIP2012 提高组] 借教室 解法\(1\):线段树 - \(O((n+m)\log n)\) 比较直观的一种做法,但是可能需要卡一下输入(这里没卡也过了,但要注意输入是\(10^6\)级的,为了保险一定要加)。 #include<bits/stdc++.h> #defi
阅读全文
![[题解]P1083 [NOIP2012 提高组] 借教室](https://img2024.cnblogs.com/blog/3322276/202407/3322276-20240704223642473-1594854833.png)
摘要:
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)
摘要:
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)
摘要:
树上背包是树形dp的常见模型,通常是分组背包的变形,而分组背包的本质就是多个泛化物品不断相加。因此掌握泛化物品的合并的方法有助于理解转移的过程(具体见1.4)。 此类问题一般也可以用DFS序、多叉转二叉等方法解决。 引入:二叉苹果树 P2015 二叉苹果树 题意简述:在一个二叉树中,每个边有一个权值
阅读全文
![[笔记]树形dp - 2/4(树上背包类)](https://img2024.cnblogs.com/blog/3322276/202405/3322276-20240510204718256-1016829882.png)
摘要:
CF1907G Lights 我们可以把灯抽象成节点,而开关抽象成无向边(重边算作\(1\)条)。 显然每个连通块要么是一棵树,要么是一棵基环树。 对于基环树,我们把它看做若干棵树处理,最后我们再考虑如何处理环。 如下图,这是一棵树,黄色的点表示亮灯。 我们选定任意一条边,可以改变子节点和父节点的状
阅读全文
![[题解]CF1907G Lights](https://img2024.cnblogs.com/blog/3322276/202405/3322276-20240509122756371-424927806.png)
摘要:
ABC337E Bad Juice 一开始的想法如下: 就是利用二分法,对于一个区间\([l,r]\),分成\([l,mid-1],[mid,r-1]\)两部分,各找两个朋友喝,右边还空出一个\(r\),如果前面两个朋友都没中毒,那说明\(r\)这瓶有毒。 但仔细一想,我们发现\([1,n)\)的瓶
阅读全文
![[题解]ABC337E Bad Juice](https://img2024.cnblogs.com/blog/3322276/202405/3322276-20240503102209011-1422283879.png)
摘要:
P4597 序列 sequence 是CF13C Sequence的加强版,\(N\leq 5*10^5\)。 如果想了解\(O(N^2)\)的DP解法请看此文。 给定\(N\)个数,每次操作可以选其中一个数\(+1\)或\(-1\)。请问要让这个数列不降,最少需要多少次操作? 看到数据范围发现不能
阅读全文
![[题解]P4597 序列 sequence](https://img2024.cnblogs.com/blog/3322276/202405/3322276-20240501172948569-379139193.png)
摘要:
CF13C Sequence 给定\(N\)个数,每次操作可以选其中一个数\(+1\)或\(-1\)。请问要让这个数列不降,最少需要多少次操作? 我们用DP解决。 对\(a\)从小到大排序,存在\(c\)中。 我们用\(f[i][j]\)表示让前\(i\)个元素满足条件,而且这些元素最大值不超过\(
阅读全文
![[题解]CF13C Sequence](https://img2024.cnblogs.com/blog/3322276/202405/3322276-20240501120120610-1157885042.png)
摘要:
D - Grid and Magnet 终于找到为什么WA 4个点了。今天回来又交了几遍发现WA的数量不稳定,除了4个还有5个。所以猜测是没有初始化的问题,一番检查发现是存地图的\(s\)数组,第\(0\)行没有初始化。之前做题没有遇到过特别访问第\(0\)行的,所以写代码时就粗枝大叶、一笔略过了。
阅读全文
![[题解]ABC351 D~F](https://img2024.cnblogs.com/blog/3322276/202404/3322276-20240429230250583-661044870.png)