摘要:
HDU_2242 这个题目首先可以求出边双连通分量并进行缩点,如果边双连通分量的个数只有一个的话就必然无解,之后我们把缩好的点建成一个新图,这个图实际上就是一棵树。 如果我们随便找个点当做树根,并把图画成树形结构的话,就会发现实际上我们只要求出除树根外每个节点以及其下方的所有节点的权值和即可,每求出一个权值和,就算一下人数差并更新一下min。同时,为了充分利用子问题的解,我们在计算结果的时候可以采用dfs的方式,每个节点返回自己以及自己下方的所有节点的权值和。 需要说明的是,由于这个题目存在两点之间有多条边的情况,于是在用tarjan时就要判断一下当前扫描的边是否是之前来到这个节点的边的... 阅读全文
posted @ 2011-11-02 02:29
Staginner
阅读(864)
评论(0)
推荐(0)
浙公网安备 33010602011771号