摘要: dfs找出联通块个数cnt,当形成环时,令指向已访问过节点的节点变成指向-1,即做一个标记。把它作为该联通图的根。 把所有联通的图变成一颗树,如果存在指向自己的点,那么它所在的联通块就是一个树(n-1条边),选择这样一个点,其它联通块的根指向它,就需要cnt-1次改变。如果都是环(没有指向自己的), 阅读全文
posted @ 2016-08-04 22:13 水郁 阅读(475) 评论(0) 推荐(1) 编辑
摘要: Least Common Ancestors 节点范围是1~1e18,至多1000次询问。 只要不断让深的节点退一层(>>1)就能到达LCA。 用点来存边权,用map储存节点和父亲连边的权值。 阅读全文
posted @ 2016-08-04 03:16 水郁 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 找出奇数个的数有几个,就分几组。 阅读全文
posted @ 2016-08-04 02:52 水郁 阅读(206) 评论(0) 推荐(0) 编辑
摘要: dp[i][0..1]表示i不来/来参加的最大总高兴值。 则dp[i][1]+=dp[v][0](v是i的所有直接下属) dp[i][0]+=max(dp[v][0],dp[v][1]) 没有告诉你树根,dp的方向我第一次写的是用队列维护叶子节点,每次计算完,它的父亲的孩子数量--,如果减到0,就变 阅读全文
posted @ 2016-08-04 02:46 水郁 阅读(375) 评论(0) 推荐(0) 编辑
……