该文被密码保护。 阅读全文
posted @ 2025-08-14 10:53 Toorean 阅读(5) 评论(0) 推荐(0)
摘要: P3177 tags:树形 dp 对于每个子树,维护的是该子树内的所有边对答案做出的贡献。 从 \(f_{v,q}\) 转移到 \(f_{u,p}\),那么这条边权为 \(w\) 被经过的次数就是 \(q\times (k-q)+(siz_v-q)\times(n-k-(siz_v-q))\),乘上 阅读全文
posted @ 2025-09-08 18:08 Toorean 阅读(4) 评论(0) 推荐(0)
摘要: 矩阵、高斯消元、线性基、行列式、Matrix-Tree、LGV 引理 阅读全文
posted @ 2025-08-25 17:07 Toorean 阅读(47) 评论(2) 推荐(0)
摘要: Tarjan 求强连通分量、边双联通分量、点双连通分量 阅读全文
posted @ 2025-05-22 23:29 Toorean 阅读(173) 评论(0) 推荐(1)
摘要: 简单来说,树链剖分就是将一棵树剖分成多个连续的段,进而映射到线性的序列上以使用数据结构进行维护的一种方法。 1. 重链剖分 1.1 基本定义 重儿子:非叶子节点的子节点中,子树节点数最多的那个子节点。 轻儿子:非叶子节点的子节点中,非重儿子的所有节点。 重边:连接任意两个重儿子的边。 轻边:非重边的 阅读全文
posted @ 2025-04-17 20:01 Toorean 阅读(36) 评论(0) 推荐(0)
摘要: 线段树优化 我们已经接触过了许多动态规划的类型, 可以使一个问题在多项式复杂度如 \(\mathcal O(n^3)\), \(\mathcal O(n^2)\) 求解. 但是有时 \(n\) 上限会达到 \(10^5\) 甚至 \(10^6\), 此时这种复杂度就显得过于拙劣了. 那么有没有有一种 阅读全文
posted @ 2025-04-10 19:44 Toorean 阅读(38) 评论(0) 推荐(0)
摘要: “怎么还是调不出来?”“半个小时了!!”“我怎么这么唐啊/ll” 久经 debug 沙场, 实在不忍再调那么久. 于是这篇记录便诞生了!!以后实在调不出来就看看() kmp: while (nxt[p] && s[p+1] != s[i]) 应该为 while (p && s[p+1] != s[i 阅读全文
posted @ 2025-03-22 17:15 Toorean 阅读(26) 评论(0) 推荐(0)
摘要: 二叉搜索树 在动态进行区间操作时,常常需要数据结构来优化类似 \(\mathcal O(n^2)\) 的时间复杂度,二叉搜索树 是一种优化复杂度的数据结构,定义如下: 二叉搜索树是一颗二叉树。 对于一个节点 \(R\),若存在左子树,则 \(R\) 的左子树所有点均小于 \(R\) 的权值;若存在右 阅读全文
posted @ 2025-03-20 19:54 Toorean 阅读(30) 评论(0) 推荐(0)
摘要: 一、数位 DP 数位 DP 是通过 DP 的方式来计算符合某种条件的数的个数,多用于计算大整数以及数码相关的问题。下面通过一道题来体会这种 DP 的过程与内涵。 例题:Luogu P2657 题意:给出 \(l\) 与 \(r\),求 \([l,r]\) 中满足相邻两个数字之差至少为 \(2\) 的 阅读全文
posted @ 2024-12-17 19:20 Toorean 阅读(38) 评论(0) 推荐(0)
摘要: 概率与期望 一. 样本点,样本空间,随机事件 一个随机现象中可能发生的不能再细分的结果成为样本点。所有样本点组成的集合称为样本空间,用 \(\Omega\) 表示。 一个随机事件为 \(\Omega\) 的子集,由若干样本点组成,用大写字母表示。 对于随机现象的结果 \(\omega\) 和随机事件 阅读全文
posted @ 2024-12-10 20:42 Toorean 阅读(102) 评论(0) 推荐(0)