BaoTx's Blog

最近公共祖先

元旦快乐! 以P3379 【模板】最近公共祖先为例 注意 必须将根节点的dep赋值为 ,否则在查询根节点和另一个节点的lca时会有问题最好把倍增部分放到dfs中进行,若要在主函数进行,必须先枚举指数 沿着重链跳即可 先vis设为 再处理询问! 洛谷题单
阅读全文 →

CCPC2025爆零邮寄

初三,打星队 先到学校集合,然后由教练带着我们去考点。 到郑州轻工业大学地铁站,出站之后直接向北走,从西门进校结果根本找不到在哪里签到,开始在稠密图跑spfa找路。 感谢 @xxz 使用手机找到路,快速赶路…… 报道,拿了参赛证,餐券,两个吧唧,一个包。拍了合照 吃饭。
阅读全文 →

同余最短路

这是一个很有意思的算法,用于解决给定 n 个整数,求这 n 个整数能拼凑出多少的其他整数(n 个整数可以重复取)这一类问题,目的用于优化空间复杂度 有 种硬币,面额 求能凑出 中,有多少价钱可被凑出。 考虑完全背包,但是 ,不可做 我们用 来作为 这样,我们可以用 来表示 的任意一数于是,我们对 的所有余数建图,即 0,1,2,3,4,5,6,7 共八个点接下来我们建边 对于3 (0+3)%8=3...
阅读全文 →

树的直径

树的直径有两种求法,一种是两次dfs,一种是树形dp 从任意一点跑dfs找到最远点,这个点是直径的一段,再从这个点dfs到最远端,也就是直径的另外一端 这个oiwiki上讲的很细,但我更喜欢他的证明 使用反证法。记出发节点为 。设真实的直径是 ,而从 进行的第一次 DFS 到达的距离其最远的节点 不为 或 。共分三种情况: 若 在 上:
阅读全文 →

树链剖分-重链剖分

是指一种对树进行划分的算法, 它先通过轻重边剖分(Heavy-Light Decomposition)将树分为多条链, 保证每个点属于且只属于其中一条链, 然后再通过数据结构(树状数组、SBT、SPLAY、线段树等)来维护每一条链. size[i] 以结点i为根的子树中结点的个数.son[i] 结点i的重儿子.dep[i] 结点i的深度, 根的深度为1.top[i] 结点i所在重链的链首结点.fa...
阅读全文 →

hexo+github Action部署方案

由于身边有很多台电脑,每次写blog都要pull和push,过于麻烦,于是打算尝试用githubAction自动部署 首先,确保你能在本地运行并将静态文件传到github上。这一部分不是本文主要内容,不做详细描述。接下来,本文你按照一个存储库两个分支来讲解。一个分支为main,存储hexo,另一个分支为gh-pages,作为静态文件存储及github pages的源文件。 接着,把你本地的hexo...
阅读全文 →

csp2025游记

出发前带了6包魔芋爽,担心会不会不够吃。 这个地方怎么这么堵! 解控后发现 D 盘没有noi文件夹,于是查找 C 盘,居然找到了。速速安装 devcpp 并且测试。值得一提的是,今年居然提供了好看的 lemonlime。 到点开题,10 分钟做了 T1,20 分钟做了 T2。lemon 评测样例结果是全过。然后我发现 T2的题面也是一个样例,测了之后发现*我的循环mn写反了!*遂改正,力挽100p...
阅读全文 →