2019年3月10日

bzoj1912 树形dp求直径(新写法),求直径的两端点

摘要: 通过回溯法可以求出直径的两个端点,同时注意有负权边的树求直径不可以用两次dfs来求,而必须用dp做 阅读全文

posted @ 2019-03-10 22:45 zsben 阅读(230) 评论(0) 推荐(0) 编辑

树的直径小结

摘要: 树中最远的两个节点之间的距离被称为树的直径,链接这两个点的链为最长链(也称直径) 树形dp求树的直径 考虑求经过结点x的最长链的长度f[x],那么直径就是max{f[x]} 求f[x]数组:经过x结点的最长链的长度由四个部分组成:儿子yi的最大深度,(x,yi),儿子yj的最大深度,(x,yj) 显 阅读全文

posted @ 2019-03-10 17:45 zsben 阅读(134) 评论(0) 推荐(0) 编辑

spfa+01 规划

摘要: 尼玛的哪里错了。。 下面这样的就没问题了。。 阅读全文

posted @ 2019-03-10 16:48 zsben 阅读(329) 评论(0) 推荐(0) 编辑

[Gym-102091E] How Many Groups

摘要: /* 先将a数组从小到大排序 dp[i][j][k]表示到以第i个数为结尾的,且第i个数改了j次,第i个数改动值为k-1的集合最大值 ans是dp过程中的最大集合大小 状态转移: 首先是到i改动为0次的情况: 如果a[i]-a[i-1]2 k:0->2 先给定初始状态值 dp[i][j][k]=1 然后是枚举i-1的所... 阅读全文

posted @ 2019-03-10 00:33 zsben 阅读(451) 评论(0) 推荐(0) 编辑

导航