会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
allforgod
博客园
首页
新随笔
联系
订阅
管理
[置顶]
一些网址
该文被密码保护。
阅读全文
posted @ 2025-06-14 17:04 all_for_god
阅读(12)
评论(0)
推荐(0)
[置顶]
密码
摘要: 学校+经典符号+为什么
阅读全文
posted @ 2025-05-28 10:35 all_for_god
阅读(20)
评论(0)
推荐(0)
2025年10月31日
dfs 序求 lca
摘要: 这是一个 \(O(n\log n)\) 预处理,\(O(1)\) 回答询问的 lca 算法,比较好写,几乎与树上倍增相当,算是在各个方面都比较优秀的求 lca 的算法。 P3379 【模板】最近公共祖先(LCA) 以这道模板题为例。 设求 lca 的两个点为 \(x,y\)。显然我们应该知道这两个点
阅读全文
posted @ 2025-10-31 17:19 all_for_god
阅读(3)
评论(0)
推荐(0)
2025年10月29日
Manacher
摘要: P3805 【模板】Manacher manacher 主要是用来解决与回文串有关问题的算法。 其核心思想是维护当前求出来的右端点最大的回文串。我们设 \(d_i\) 表示位置 \(i\) 的最大回文半径。我们先只考虑奇回文串。 对于我们维护的这个回文串,对于位置 \(i\),其关于回文串的中点的对
阅读全文
posted @ 2025-10-29 21:40 all_for_god
阅读(8)
评论(0)
推荐(0)
2025年10月25日
P2135 方块消除 题解
摘要: P2135 方块消除 思路 这种肯定是区间 DP 题,转移就形如两个区间拼起来。但是发现转移显然有点假,因为题目还有一种情况是先消掉中间的,将两边两种颜色相同的拼起来再消掉。 考虑拼起来的过程是将两段或多段不相邻但是颜色相同的段夹在中间的先删掉,然后将其合并起来。 多段不相邻的东西怎么合并?这个确实
阅读全文
posted @ 2025-10-25 17:47 all_for_god
阅读(11)
评论(0)
推荐(0)
2025年10月24日
CF1870E Another MEX Problem 题解
摘要: CF1870E Another MEX Problem 注意题中取出来的区间的并不一定恰好是整个序列。 思路 一个比较重要而且比较经典的结论是:序列的极短 mex 区间个数是 \(O(n)\) 的。这里的极短 mex 区间是指满足对于区间 \([l,r]\),有 \(\text{mex}(l,r)\
阅读全文
posted @ 2025-10-24 11:38 all_for_god
阅读(6)
评论(0)
推荐(0)
2025年10月23日
线段树分治
摘要: 线段树分治的本质比较简单,一句话就可以说完: 线段树分治就是对时间维建线段树,将时间维上的区间操作在线段树上标记永久化。 P5787 二分图 /【模板】线段树分治 动态维护图是否是二分图可以通过 扩展域并查集 简单维护。(事实上这道题的难点可能在这个上面) 然后我们就将插入边的操作放到时间维的线段树
阅读全文
posted @ 2025-10-23 11:11 all_for_god
阅读(4)
评论(0)
推荐(1)
扩展域并查集
摘要: 听起来玄乎,其实比较朴素的东西。 扩展域并查集是用来处理染色判定问题的一种工具。具体来说,对于一些问题,我们可能需要将一个图划分为一些不交的点集,然后保证这些点集内部的点之间没有互相连边。 一个典型的例子是二分图。事实上,一般而言扩展域并查集都只是用来做二分图的判定而已。 还是以判断图是否是二分图为
阅读全文
posted @ 2025-10-23 10:59 all_for_god
阅读(6)
评论(0)
推荐(1)
2025年10月21日
历史和线段树
摘要: 历史和的定义是每一次操作后每个位置上的历史和 \(h_i\) 都会累加上一个当前位置的 \(a_i\)。粗略的说就是给每一位加上了一个时间维 \(t\)。设 \(a_{i,t}\) 表示位置 \(i\) 上在第 \(t\) 次操作后的值,那么某次操作后的历史和 \(h_{i,t}=\sum_{j=1
阅读全文
posted @ 2025-10-21 14:22 all_for_god
阅读(7)
评论(0)
推荐(1)
2025年9月25日
高维前缀和(SOSDP)
摘要: 我们求二维前缀和有如下形式: for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)a[i][j]+=a[i-1][j]; for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)a[i][j]+=a[i][j-1]; 大概就是先考虑第一维再
阅读全文
posted @ 2025-09-25 11:56 all_for_god
阅读(17)
评论(0)
推荐(1)
2025年9月21日
2025/09/15~21 总结
该文被密码保护。
阅读全文
posted @ 2025-09-21 19:31 all_for_god
阅读(5)
评论(0)
推荐(0)
2025年9月18日
2025/09/18 考试总结
该文被密码保护。
阅读全文
posted @ 2025-09-18 21:10 all_for_god
阅读(4)
评论(0)
推荐(0)
下一页
公告