DFS
Dousir9
ACMer
展开
-
CF #670(div2C) Link Cut Centroids【树的重心】
题目描述: 给定一棵树,你可以删除一条边和和增加一条边,这两个操作完成后原来的图必须还是一颗树,你可以增加那条你删除的边,最后输出删除和增加边的两个端点。 树的重心: 有些信息是自低向上统计的,比如以每个节点 x 为根的子树的大小。对于叶子结点,我们已知“以它为根的子树”大小为 1,若节点 x 有 k 个子节点 y1,y2,...yky_1,y_2,...y_ky1,y2,...yk ,并且以 y1,y2,...yky_1,y_2,...y_ky1,y2,...yk 为根的子树大小分别是 si原创 2020-09-16 07:50:40 · 134 阅读 · 0 评论 -
洛谷 P1463 反素数【约数 | DFS】
题目链接 题目描述: 约数 : 定义: 若整数 n 除以 d 的余数为0,即 d 能整除 n,则称 d 是 n 的约数,n 是 d 的倍数,记为 d | n 。 算术基本定理的推论: 在算数基本定理中,若正整数 N 被唯一分解为 N=p1c1p2c2...pmcmN=p_1^{c1}p_2^{c2}...p_m^{cm}N=p1c1p2c2...pmcm,其中 cic_ici 都是正整数,pip_ipi 都是质数,且满足 p1<p2<...<pmp_1<p_2<.原创 2020-09-10 22:34:55 · 203 阅读 · 0 评论 -
LuoGu P3629 巡逻【树的直径】
题目链接 题目描述: 题解: 树的直径(两种O(n)求法): (1)树形dp: 不妨设1号节点为根,“N个点N - 1条边的无向图”就可以看作“有根树”。 设dp[x]表示从节点x出发走向以x为根的子树,能够到达的最远节点的距离,设x的子节点为y1, y2, …, yt, edge(x, y)表示边权,显然有dp[x] = max(d[yi] + edge(x, yi)),i ∈ [1, t]。 接下来,我们可以考虑对每个节点x求出“经过节点x的最长链的长度",F[x],那么整棵树的直径就为max(F原创 2020-09-04 22:53:08 · 153 阅读 · 0 评论