luoguP1131】的更多相关文章

时态同步 ...这道题我也不知道咋\(A\)的. 思路: \(anst\) 距离 \(s\) 的最长距离,\(ansp\) 某一节点到祖先所有边的权值和这些些加过的权值和 先求出到\(s\)距离最长的点,其他点通过使用道具增加到这个点的长度.对于每一个节点,记录一个它的子节点到它的距离最长的点(距离\(dis[u]\)).在\(u\)到它父亲的边上加\(anst-ansp-dis[u]\),\(ans\)也加上\(anst-ansp-dis[u]\). ... 解释得不太清楚 #include<…
传送门 显然是一棵树. 又显然一段一段地增加比较优. 我们可以dfs,并且尽量把每一个节点所有子树中所有节点的时间增加到一样. #include <vector> #include <cstdio> #include <cstring> #include <iostream> #define N 500001 #define LL long long using namespace std; LL ans; int n, s, cnt; int head[N…
贪心就离根最大距离 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); a <= (c); ++ a) #define nR(a,b,c) for(register int a = (b); a >= (c); -…