
树形dp&换根dp
文章平均质量分 94
树形dp
NephrenRuqInsania
这个作者很懒,什么都没留下…
展开
-
换根dp学习笔记
1.换根dp换根dpdpdp其实是树形dpdpdp的一个分支,通常用来在线性或亚线性的复杂度里解决树上定点的问题刚开始学习的时候可能会不太好理解,但是做多题之后就好了2.引入现在有一个这样的问题给你一棵树,要找一个点ppp,使得当ppp为根的时候,所有节点的深度之和最大首先考虑暴力怎么做,就是暴力枚举ppp,然后Θ(n)\Theta(n)Θ(n)计算答案,最后总复杂度是Θ(n2)\...原创 2020-05-02 17:18:54 · 625 阅读 · 0 评论 -
Codeforces Round 627(div.3)
day121:06开始看题了!!!T1大水题判断一下积偶性就可以了,如果全一样就是yes,要不然就是no21:09A了,开T221:11T2也不难啊(flag)就是判断一下有没有不相邻的相同的两个数就可以啦21:15A了(flag+1),开T321:17T3考虑贪心,我们发现,往左跳是没有用的,所以我们只用关注R的情况就可以了所以答案就是任意两个R之间的距离的最大值,注...原创 2020-03-14 13:06:39 · 209 阅读 · 0 评论 -
[POI2011] DYN-Dynamite
据说这道题有ON做法好像是真的但是没人写我也不会所以我就写了正常的O(nlogn)O(nlogn)O(nlogn)做法啦显然要二分一下对吧然后我们怎么判断呢?考虑树形DP:f[u]f[u]f[u]表示以uuu为根节点的子树中,最远的没有被覆盖到的关键节点的距离g[u]g[u]g[u]表示以uuu为根节点的自述中,最近的一个选择的点的距离那么转移显然就是f[u]=max{f[...原创 2020-03-19 18:10:23 · 180 阅读 · 0 评论 -
P1272 重建道路
linklinklink这道题出的其实挺好的显然是一个树形dpdpdp问题最开始想复杂了后来发现很简单一直以为是n^3做法我们用dpu,kdp_{u,k}dpu,k表示在以uuu为根的子树中,剔除kkk个的最小需要切的边数那么初值就是dpu,1=duudp_{u,1}=du_udpu,1=duu转移就是dpu,k=min{dpv,j+dpu,k−j−2},v∈son(u)...原创 2020-04-11 14:52:14 · 153 阅读 · 0 评论