随笔分类 - 动态规划-基环树dp
摘要:做法 把环找出来,如果在环上(u,v)两点的时候,u的其他子树都走完了,v上第一个还有除v存在的子树没走完的 祖先,祖先的最小子节点小于v,则回去 Code cpp include typedef int LL; const LL maxn=1e6+9,inf=0x3f3f3f3f; inline
阅读全文
摘要:题目 "P4949 最短距离" 做法 先把非树边提出来 查询$(x,y)$的最短距离就分类查询:树上$(x,y)$距离,经过非树边距离 带边权查询链长,一个烂大街的套路:树链剖分,节点维护树边距离 待修改随便搞搞就行 Code cpp include typedef int LL; const LL
阅读全文
摘要:持续更新ing 图中央的环显而易见,一般的初始化流程有两个 (1)找环 (2)找边 CF835F 题目大意:删掉一条边,在保持联通性的基础上求最小直径 既然要保持连通性,就只能考虑在环上删边 先将环中的每个节点子树最大直径求出(不跨过环) 以上均为初始化,下面才是难点 易证基环树的直径为 max{
阅读全文