随笔分类 -  数据结构

摘要:珂朵莉树总结我永远喜欢珂朵莉! 阅读全文
posted @ 2024-08-17 17:52 长安一片月_22 阅读(102) 评论(0) 推荐(0)
摘要:难度在最近遇到的题里相对较高,在这里写一篇珂学题解。 (以下是学校给的部分分) \(20\%\):直接暴力枚举。 另外 \(20\%\):假如我们取 \(pre\),对于 \(pre<l\) 的,\(ans++\),明显二维偏序,树状数组或 \(cdq\) 即可,时间复杂度 \(O(n\log n) 阅读全文
posted @ 2024-08-15 20:22 长安一片月_22 阅读(46) 评论(1) 推荐(0)
摘要:难度在最近遇到的题里相对较高,在这里写一篇珂学题解。 (以下是学校给的部分分) \(20\%\):直接暴力枚举。 另外 \(20\%\):假如我们取 \(pre\),对于 \(pre<l\) 的,\(ans++\),明显二维偏序,树状数组或 \(cdq\) 即可,时间复杂度 \(O(n\log n) 阅读全文
posted @ 2024-08-15 20:22 长安一片月_22 阅读(46) 评论(1) 推荐(0)
摘要:不知道大家做没做过数列分块基础9题? 插入删除操作可以用链表,线段树等数据结构都不好维护,考虑分块。对于修改操作,暴力重构受影响块的链表,发现除首尾块外,其他块都可以看作是区间左移一位,所以加头删尾即可。 每个块开一个数组(绝对不能是 \((un\_)map\),不然你会和我一样死的很诡异),表示这 阅读全文
posted @ 2024-07-31 21:25 长安一片月_22 阅读(25) 评论(0) 推荐(0)
摘要:不知道大家做没做过数列分块基础9题? 插入删除操作可以用链表,线段树等数据结构都不好维护,考虑分块。对于修改操作,暴力重构受影响块的链表,发现除首尾块外,其他块都可以看作是区间左移一位,所以加头删尾即可。 每个块开一个数组(绝对不能是 \((un\_)map\),不然你会和我一样死的很诡异),表示这 阅读全文
posted @ 2024-07-31 21:25 长安一片月_22 阅读(25) 评论(0) 推荐(0)
摘要:给一篇题解。(下面这张图是从 luogu 上粘贴的,因为不太会画图) 其中纵坐标为 \(t\),横坐标为 \(a_i\)。 发现同颜色块只有平行四边形和直角梯形(等腰直角三角形)两种情况。 可以将直角梯形削去左下角,分成两部分考虑。 等直可以直接暴力插入区间,总个数 \(O(n)\)。 平行四边形可 阅读全文
posted @ 2024-07-31 21:21 长安一片月_22 阅读(24) 评论(0) 推荐(0)
摘要:考试压轴题,意识到这题是线段树优化 \(dp\) 时追悔莫及。 为了简化题目,我将从起点到原点变成了从原点到起点(这样就可以省去两个数组的空间)。 想到设 \(dp_{i,j}\) 表示在第 \(i\) 层,奶牛们在 \(j\) 列时的最小移动范围,则转移方程为(设输入为 \(l,r\)): \[\ 阅读全文
posted @ 2024-06-04 20:56 长安一片月_22 阅读(17) 评论(0) 推荐(0)
摘要:俗话说的好,正难则反,既然不好想每一个子弹能打碎多少个木板,不如想每个木板被那枚子弹打碎。 然后就是显然的整体二分。由于可能木板不会被击碎,那些木板的分数会累加到最后一个子弹上,因此我们可以加一枚背锅弹,承担多余的分数。 时间复杂度 \(O((n+m)\log^2 m)\)。 #include<bi 阅读全文
posted @ 2024-05-04 10:51 长安一片月_22 阅读(13) 评论(0) 推荐(0)
摘要:发现实际上就是二维静态区间最大值,可以用整体二分维护。 时间复杂度 \(O((q+n^2)\log \max(a_{i,j})\log n^2)\)。 #include<bits/stdc++.h> #define ll long long using namespace std; const in 阅读全文
posted @ 2024-05-04 09:38 长安一片月_22 阅读(21) 评论(0) 推荐(0)
摘要:不愧是 \(ZJOI\),《最可做的一道题》都让人一头雾水…… 首先将问题转化到链上。 可以将总共的组数转化为每个点可以到达的城市。 明显给每个点建一棵动态开点线段树,维护可以和他通商的点。很明显,可以通商的点的标号连续的一段。我们可以将可以将每一次传播语言的工作当作区间修改,很明显可以用差分。最后 阅读全文
posted @ 2024-04-21 17:18 长安一片月_22 阅读(31) 评论(1) 推荐(0)
摘要:[SDOI2015] 寻宝游戏 题目大意 给你一棵树,边有边权,现在每个村庄可能会突然有宝藏,又可能会突然没宝藏。 若可以随意选择起点,问每次修改后从起点遍历完所有宝藏再回到起点的最短路径长度。 难度:七星(满分十星) 题解 注:\(dis(x,y)\) 为 \(x\) 到 \(y\) 的距离。 若 阅读全文
posted @ 2024-02-20 14:44 长安一片月_22 阅读(14) 评论(0) 推荐(0)
摘要:题目链接:\(BZOJ\) 本题通过 \(dyf\_DYF\) 的题解理解 \(ETT\),代码则借鉴 \(lcyfrog\) 的题解,图片则使用了何太狼的题解。在此笔者感谢这三位神犇。 声明变量: \(ls\):左儿子 \(rs\):右儿子 \(sz\):子树大小 \(rk\):对应堆值 \(fa 阅读全文
posted @ 2024-01-19 22:51 长安一片月_22 阅读(31) 评论(0) 推荐(0)
摘要:题目链接:\(BZOJ\) 本题通过 \(dyf\_DYF\) 的题解理解 \(ETT\),代码则借鉴 \(lcyfrog\) 的题解,图片则使用了何太狼的题解。在此笔者感谢这三位神犇。 声明变量: \(ls\):左儿子 \(rs\):右儿子 \(sz\):子树大小 \(rk\):对应堆值 \(fa 阅读全文
posted @ 2024-01-19 22:51 长安一片月_22 阅读(31) 评论(0) 推荐(0)
摘要:原题链接:\(luogu\)$\ \ $ \(BZOJ\)$\ \ $ \(LOJ\) 题目大意:有一个可以支持插入和修改的字符串,定义函数 \(\operatorname{LCQ(x,y)}\) 表示从 \(x\) 开始的后缀与从 \(y\) 开始的后缀的最长公共前缀。 声明变量: \(ls\): 阅读全文
posted @ 2024-01-19 09:40 长安一片月_22 阅读(33) 评论(0) 推荐(0)