题目链接
很容易想到的是,我们可以对首先对每个点连出去的边按照边颜色进行排序,这样就可以保证一段相同的是会在一起出现的,然后我们可以进行点分治,再利用线段树维护深度对应的最大权,我们需要两棵线段树,一棵维护不同值,一棵维护相同值,另外要保证我们每次初始化需要到位,不然很有可能被卡70或80pts就比较的难受了。
8 2 4 4
-5 3
1 2 2
1 5 1
1 8 2
2 3 1
2 4 1
5 6 2
5 7 1
ans:-4
8 4 1 5
-7 9 6 1
1 2 1
1 3 2
1 4 1
2 5 1
5 6 2
3 7 1
3 8 3
ans:17
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include