树的直径
摘要:一、概念 在一棵树中找到距离根节点最远的两个点,这两个点之间的距离为树的直径 二、算法 1.求法:求树的直径的方法就是在树上任选一点u,求距离点u最远的点y,再求距离点y最远的点s,点y到点s的距离即为树的直径。 2.证明:假设此树的最长路径是从s到t,我们选择的点为u。反证法:假设搜到的点是v。
阅读全文
posted @
2020-04-23 22:25
Allen_lml
阅读(153)
推荐(0) 编辑
树形DP&最简单的树形DP例题
摘要:一、概念 顾名思义,树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向: 1、叶->根:在回溯的时候从叶子节点往上更新信息
阅读全文
posted @
2020-04-22 21:52
Allen_lml
阅读(215)
推荐(0) 编辑
组合数性质
摘要:1.C(n+m,n)=C(n+m,m) 2.C(n,m)=c(n-1,m-1)+C(n-1,m) 3.C(n+r+1,r)=C(n+r,r)+C(n+r-1,r-1)+...+C(n,0) 4.C(n,l)*C(l,r)=C(n,r)*C(n-r,l-r) 5.C(n,0)+C(n,1)+...+C
阅读全文
posted @
2020-04-07 14:41
Allen_lml
阅读(681)
推荐(0) 编辑
快速幂
摘要:https://blog.csdn.net/Harington/article/details/87602682 (忽然发现快速幂的博客之前没写,不想写了,推荐这篇)
阅读全文
posted @
2020-04-05 17:21
Allen_lml
阅读(77)
推荐(0) 编辑
BSGS
摘要:求a^x≡b(mod p)的一组解,p≤10^9且为质数 不妨设a^1,a^2....a^sqrt(p)为1号序列 a^sqrt(p)+1...a^2sqrt(p)为2号序列 以此类推 首先我们枚举a^1,a^2....a^sqrt(p)( mod p)即1号序列mod p的值 如果有,就说明找到了
阅读全文
posted @
2020-04-05 17:20
Allen_lml
阅读(133)
推荐(0) 编辑
莫比乌斯反演(概念)
摘要:如无特殊说明,本文 * 均代表卷积 (不懂卷积请转:https://www.cnblogs.com/liumengliang/p/12623485.html) 概念:如果g(n)=Σd|nf(d),则f(n)=Σd|nμ(d)g(n/d) (因为I(n)=1),所以可以在g(n)=Σd|nf(d)右
阅读全文
posted @
2020-04-05 12:27
Allen_lml
阅读(147)
推荐(0) 编辑
dijkstra堆优化
摘要:首先,我们概括一下大致思想(转载于Korpse——最短路径:Dijkstra算法) 注:Dijkstra算法适用于边权为正的无向和有向图,不适用于有负边权的图!(原因) 用途: 用于求图中指定两点之间的最短路径,或者是指定一点到其它所有点之间的最短路径。实质上是贪心算法。 基本思想: 1.将图上的初
阅读全文
posted @
2020-04-04 22:58
Allen_lml
阅读(294)
推荐(0) 编辑
狄利克雷卷积
摘要:φ:欧拉函数,μ:莫比乌斯函数 一、定义:(f*g)(n)=Σd|nf(d)g(n/d) 例如:(f*g)(6)=f(1)*g(6)+f(2)*g(3)+f(3)*g(2)+f(6)*g(1) 二、性质: 1.交换律:f*g=g*f 2.结合律:(f*g)*h=f*(g*h) 3.分配率:(f+g)
阅读全文
posted @
2020-04-02 22:28
Allen_lml
阅读(379)
推荐(2) 编辑