随笔分类 - DP_树形DP
摘要:虚树入门
阅读全文
摘要:要自下向上调整,尽可能用一个道具修改多个; 搜的时候记录叶节点的最大深度,减一下就好了。 2019.04.26
阅读全文
摘要:又重构了一下。。。当然当初的题一看就看懂了QAQ 设f[i][j]表示以i为根的子树,有j个客户的最大收益 方程:f[u][j+k]=max(f[u][j+k],f[u][j]+f[v][k]-w(u,v)) 0<=j<=lastsize,0<=k<=v.size 2019.04.28
阅读全文
摘要:刚才瞅了半天自己当初写的,终于瞅出来了。。。QWQ 设f[i][j]表示以i为根的子树,包含j个节点所需砍掉的最小边数 那么可知f[u][1]=u的度; 方程:f[u][j]=min(f[u][j],f[u][j-k]+f[v][k]-2); 为何减2? 因为你已经默认了把与自己相连的所有边都去掉了
阅读全文
摘要:记住:map一定要这么用: 而不是 别问我为什么QAQ 建图:选定一个横天门,向在这一行上的横天门连无向边,剩下的门连有向边;纵寰门一样的方法 用map判 自由_门 旁边八个点是否存在,存在就连边; 最后tarjan缩点,用dp求最长路 2019.04.21 upd:5秒后 (发布时显示:博文中含有
阅读全文
摘要:本来抄了篇题解,后来觉得题解都太不友好(我太菜了),一气之下自己打。。。一打打到第二天QAQ 首先什么边也不加时,总路程就是2*(n-1) 考虑k=1的时候,答案显然是2*(n-1)-直径+1=2*n-直径-1,如果能加一条边的话,因为希望减少的尽可能多,那么只需要把直径的首尾接起来,就不需要来回走
阅读全文
摘要:要开始学图论了。。。。。老是被在对面高二机房的高一学长图论强者ddy虐。。。。。 树的直径 update(2019.04.02):!!!dfs无法解决负权树(我是调了一晚上的渣渣) 给定一棵树,树中每条边都有一个权值,树中两点之间的距离定义为连接两点的路径边权之和。树中最远的两个节点之间的距离被称为
阅读全文
摘要:写一篇题解,以纪念调了一个小时的经历(就是因为边的数组没有乘2 phhhh QAQ) 题目 题目大意:找一个点使得从这个点出发作为源点,流出的流量最大,输出这个最大的流量。 以这道题来介绍二次扫描和换根法 作为一道不定根的树形DP,如果直接对每个点进行DP,可能时间会炸掉 但是,优秀的二次换根和扫描
阅读全文

浙公网安备 33010602011771号