2015年1月19日
摘要: 题目大意是:所有点在一个连通图上,希望去掉一条边得到两个连通图,且两个图上所有点的权值的差最小,如果没有割边,则输出impossible这道题需要先利用tarjan算法将在同一连通分量中的点缩成一个点后,重新构建一幅图,然后利用新建的图进行树形dp解决问题这道题目需要注意的是可能存在重边,那么子节点... 阅读全文
posted @ 2015-01-19 21:23 Love风吟 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目大意:n个点,每个点有个权值,m条边,形成一棵树,这道题里面,m就是坑爹的,实际上就是 m = n-1 ,不考虑它也没问题, 写在这里吓唬人的只能建一条通信道 , 也就是找到一条边作为通信通道,然后这个通信通道分割了2棵树,求得到两棵树权值之和相差的值最小这里数据比较大,要用到 long lon... 阅读全文
posted @ 2015-01-19 16:49 Love风吟 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目大意给定一个无向图形成一棵树,截去某个点后,森林中的树要是每棵树中的节点数都不超过原来总结点数的1/2,那么就把这个点输出否则输出NONE前面也做了思想一样的题目POJ 1655 Balancing Act && POJ 3107 Godfather不理解可以看看 1 /* 2 sum[i]表示... 阅读全文
posted @ 2015-01-19 16:11 Love风吟 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目大意:0~n-1号这n个点,每个点有个权值,由无向边形成了一棵树,希望在这棵树上找到一棵长为m的子树使总的权值最小基本的树形背包问题令dp[u][j] 表示u号节点对应子树中有j个节点所能得到的最大权值dp[u][1] = val[u]dp[u][j] = max{dp[v][k] + dp[u... 阅读全文
posted @ 2015-01-19 15:42 Love风吟 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目大意:根据题目的图很好理解意思,就是记录每一个点的balance,例如 i 的balance就是把 i 从这棵树中除去后得到的森林中含有结点数最多的子树中的节点个数,然后找到所有节点中对应的balance的最小值 , 并输出最小值对应的最小的标号题目不要看花。。。前一个是找最大,后面找所有最大值... 阅读全文
posted @ 2015-01-19 14:41 Love风吟 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目大意是:给定一个n,k,表示树上共有n个节点,每个节点最多有k个叶子,问一共多少种摆法,答案对1000000007取模这里定义一个dp[i]表示 i 个节点对应有多少种方法f[i][j] 表示一个除去顶点的树中,这个顶点延伸出 j 个子树 , 这j个子树中共有i 个点那么只要在f[i][j]上添... 阅读全文
posted @ 2015-01-19 13:44 Love风吟 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目大意:根据n个城市,设置n-1条有向边,希望设定一个中心城市,能通过修改一些道路的方向到达任何一座城市,希望修改的道路数量最少输出这个最少的道路数量,并且把所有符合的可作为中心的城市编号一个个输出来开始也实在想不出,根据树形dp,首先要确定一棵树,可是这里的边乱七八糟的,没法确定根后来看了别人的... 阅读全文
posted @ 2015-01-19 00:01 Love风吟 阅读(162) 评论(0) 推荐(0) 编辑