poj1935】的更多相关文章

给定起点和要经过的点,求最短路径我发现,关于路径的treedp,设计的关键在于每个节点的状态怎么表示对于这道题,有一种常见的方法是令f[i,1]表示经过这个点且还要回来的路径,f[i,0]表示留在以i为根的子树的某个节点上不回到i的最短路径然后方程就很好设计了,具体见程序 type node=record next,cost,point:longint; end; ..] of node; need,v:..] of boolean; p:..] of longint; f:..,..] of…
题目链接:http://poj.org/problem?id=1935 题意:带边权的树,给点一个根,问从根出发遍历某些点,所需的最小花费. 分析:树上任意两点的路径是唯一的,直接dfs一遍,可以得出从源点出发访问完需要到达的点再回到源点的总值sum,而这里访问后不需要回到源点,找出距离源点最远的点的长度mx,那么答案就是sum-mx. #include <cstdio> #include <cstring> #include <cmath> #include <…
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 POJ1016 POJ1017 POJ1169 POJ1298 POJ1326 POJ1350 POJ1363 POJ1676 POJ1786 POJ1791 POJ1835 POJ1970 POJ2317 POJ2325 POJ2390 POJ1012 POJ1082 POJ1099 POJ1114…
Link: POJ1935 传送门 Solution: 一道吓唬人的水题 注意这是一棵树,两点间仅有唯一的路径! 于是每个“关键点”和起点只有一条路径,想去起点另一棵子树上的节点必须要回到起点 如果必须要回到起点,答案$res$就是除去无用边后整棵树总距离$*2$, 因为不必回到起点,最终结果为$res-mx$,$mx$为距起点的最远点的距离 除去无用边的方式:给每个“关键点”打上$vis$标记,这样最远点之后的点就不会被$dfs$到了 Code: #include <iostream> #i…