bzoj3531专题

BZOJ3531 [Sdoi2014]旅行——树剖+动态开点线段树

Description S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足 从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标

bzoj3531 [Sdoi2014]旅行

传送门 Description S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个

bzoj3531 [JLOI2014]松鼠的新家

传送门 Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,……,最后到an,去参观新家。 可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞。可

bzoj3531(树链剖分+动态开点线段树)

每一个颜色建一个线段树 神方法,用主席树的计算方法,因为一个点在线段树中只会产生log个点,所以总的点数是在n log n的级别内的 所以均摊下来不会MLE   #include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<queue>#include<cmath>using name