摘要: 思路 考虑一条路径会对哪些观察员产生贡献。 设一条路径 x->lca(x,y)->y, 若他会对观察员 u 产生贡献,则: u 位于 x->lca(x,y) 的路径上; u 位于 lca(x,y)->y 的路径上。 对于第一种情况(\(d_u\) 表示根节点到 u 的距离),可以推出此时 \(w_u 阅读全文
posted @ 2025-05-15 15:10 GuoSN0410 阅读(13) 评论(0) 推荐(0)
摘要: 思路 树剖板子 题目中要实现两种操作: 给一个点打上 1 的标记; 找他第一个打上标记 1 的祖先。 考虑第一种操作怎么做,十分简单,直接把一个点的标记修改为 1 就可以,简单明了。 对于第二种操作,可以用树剖将树剖成一条条链,然后开一棵线段树,每次查询区间中编号最大的标记为 1 的点。 真是水题 阅读全文
posted @ 2025-05-13 22:32 GuoSN0410 阅读(5) 评论(0) 推荐(0)
摘要: 思路 对于 \(u, v\) 路径上的最大利润有三种情况: \(u->lca(u,v)\) 上买卖; \(lca(u,v)->v\) 上买卖; 跨过 \(lca(u,v)\) 进行买卖; 我们可以用树上倍增进行维护。设 up 数组维护第一种买卖,down 数组维护第二种买卖,maxx 维护路径最大值 阅读全文
posted @ 2025-05-13 14:39 GuoSN0410 阅读(12) 评论(0) 推荐(0)
摘要: 类型 树上差分,一般是用来解决路径修改,单点查询的问题。一般有两种类型: 对边权进行修改 对点权进行修改 对于第一种类型可以将每个边权转移到其对应的儿子上,进而转化为第二种类型。 每一个点记录的是他的权值与所有儿子权值和的差,即: \[x_u=w_u-\sum w_{son_u} \]最后查询每个点 阅读全文
posted @ 2025-05-13 14:14 GuoSN0410 阅读(11) 评论(0) 推荐(0)
摘要: 思路 首先注意到答案具有单调性,可以二分答案。 考虑 check 函数怎么写。 可以发现一个显然的性质:一个军队的深度越小,他所能控制的点越多。 因此,当总时间确定时,我们可以让每个军队在规定的时间内尽量往上跳,发现这个东西可以用树上倍增维护。 但是,题目有一个坑点:根节点不能放军队,这就使得树上的 阅读全文
posted @ 2025-05-10 11:19 GuoSN0410 阅读(10) 评论(0) 推荐(0)
摘要: 几个概念 dfs 序:dfs 遍历的节点序列(第 \(i\) 次访问几号节点) 欧拉序:与 dfs 序类似,但是返回时也要记录(长度为 \(2n-1\)) 性质:设 dfs 序列为 \(a\),则 \(a_{dfn_i}=i\)。 步骤: dfs 预处理出欧拉序,和第一次以及最后一次在欧拉序上出现的 阅读全文
posted @ 2025-05-08 14:45 GuoSN0410 阅读(36) 评论(0) 推荐(0)
摘要: 思路 正难则反,考虑什么时候无法组成三角形。 我们将 \(a\) 数组递增排序(记录三角形的边权),当 \(a_{i-2}+a_{i-1}\le a_i\) 时无法组成,最小的时候为一个斐波那契数列。 发现 \(f_{46}>10^9\),所以 \(n\ge46\) 时一定是可以组成的,在其余情况下 阅读全文
posted @ 2025-05-06 22:21 GuoSN0410 阅读(8) 评论(0) 推荐(0)
摘要: 定义 莫比乌斯函数 \(\mu(n)\) 的定义: \[\mu(n)=\begin{cases} 1,\ n=1\\ (-1)^r,\ n=p_1p_2...p_r(p_i为互不相同的质数)\\ 0,\ 其他 \end{cases}\]性质 设 \(F(n)=\sum_{d|n}\mu(d)\): 阅读全文
posted @ 2025-02-16 21:53 GuoSN0410 阅读(39) 评论(0) 推荐(0)
摘要: 定义 欧拉函数的形式化定义: \[\phi(n)=\sum_{i=1}^n[gcd(i,n)=1] \]表示 不超过 \(n\) 且与 \(n\) 互质的正整数的个数。 性质 \(n=\sum_{d|n}\phi(d)\) 证明:设有 \(n\) 个分数 \(\frac{1}{n},\frac{2} 阅读全文
posted @ 2025-02-16 21:10 GuoSN0410 阅读(13) 评论(0) 推荐(0)
摘要: 介绍 平衡树是一种特殊的二叉树搜树,他能在被修改后,依靠分裂,合并,等操作使得树能始终保持平衡(每一个节点的两棵子树的大小尽量相等),这里主要讲解 FHQtreap。 前置知识 二叉搜索树:是一种特殊的二叉树,满足左儿子的 所有 节点,小于根;根小于右儿子的所有节点。 操作 FHQtreap 也叫无 阅读全文
posted @ 2024-12-24 17:29 GuoSN0410 阅读(244) 评论(0) 推荐(0)