摘要:
题面传送门 空间这么小,只能莫队。在移动时用域值分块$O(1)$修改即可。 代码实现: #include<cstdio> #include<cmath> #include<algorithm> using namespace std; int n,m,k,x,y,z,ans[1000039],a[1 阅读全文
摘要:
题面传送门 如果$k=1$显然非常简单,取树的直径即可。 考虑$k=2$怎么做。 第一条显然要取树的直径。 而第二条如果围成的环和第一条围成的环有重叠,那么重叠的边要走两次。所以我们可以把这几条重叠的边权值设为$-1$,然后再跑一遍树的直径。 代码实现: #include<cstdio> #incl 阅读全文