摘要:
首先把无向图变成一棵树,直径肯定由叶子组成。 有以下两种情况: 第一种:经过根节点,则找两个最远的叶子肯定是直径,也就是B+D。 第二种:不经过根节点,则目标的两个叶子肯定有一个不为根的公共祖先,如红点O,则在红点O下面找两个最远的叶子作为直径,找到了C+F。而很明显,这两个目标叶子中的其中一个(F 阅读全文
摘要:
(poj真的炸了,以下代码可能有误) 按照下面这个做题顺序,对区间DP不再那么迷了 LOJ1422 是 dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k][j])而不是dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k+1][j]+dp[k] 阅读全文