题解:P12683 【MX-J15-T3】叉叉学习与自我和解
给定一颗无向无权图的最短路树,问有多少个图是可能的。
先思考无向无权图的最短路树的生成方法,先 BFS 找到每一个点和源点的距离
首先给定的边肯定是存在的,我们考虑增加一些边使得图还是有给定的这个最短路树。
容易发现,增加一些边后仍然合法的冲要条件是
我们还可以发现:若新加入边集
于是这道题转化为:求有多少条边,使得新加入这一条边后
这样这题就做完了,容易发现新加的这一条边肯定在树上要不然连接两个同层的点,要不然连接两个之跨一层的点。
代码是非常好写的,没有任何细节,比 T2 简单多了。