树上路径求交
做法:
假设当前要求路径
设
先求出
将
若存在交,则
现在只需要判断路径是否有交。
若
否则若
否则路径不相交。
正确性证明:
记
那么当路径相交时,
先考虑路径有交,可以分为以下两种情况:
1.
2.
容易发现,对于两种情况,
然后考虑路径不交,此时也对应两种情况:
1.
2.
容易发现,对于两种情况,都有
最后还需要考虑
习题:P3250 [HNOI2016]网络
做法:
假设当前要求路径
设
先求出
将
若存在交,则
现在只需要判断路径是否有交。
若
否则若
否则路径不相交。
正确性证明:
记
那么当路径相交时,
先考虑路径有交,可以分为以下两种情况:
1.
2.
容易发现,对于两种情况,
然后考虑路径不交,此时也对应两种情况:
1.
2.
容易发现,对于两种情况,都有
最后还需要考虑
习题:P3250 [HNOI2016]网络