模拟测试20191006

$T1:Graph$

由于题里要求把两条边连起来,其实就是不能重复走一条边

进而我们发现对于每一个联通块,他对答案的贡献都是$\left \lfloor \frac{边数}{2} \right \rfloor $

考虑如何构造出这样一种方案

我们先求出原图的一棵生成树,然后把所有点按照深度降序排序

对于每个点扫描他所有没有删除的出边,将他们两两配对就好了

注意如果剩下的边数为奇数应该把这个点的父边留下,这显然是正确的

$T2:Permutation$

讲了一晚上了我不想再思考这题了

$T3:Tree$

构造一个排列使得相邻两个点路径上的最小值之和u最大

答案就是所有边权值之和

猜你喜欢

转载自www.cnblogs.com/mikufun-hzoi-cpp/p/11628526.html