CF1413F Roads and Ramen 题解 Link. Codeforces Luogu Description. 给定一个树,边带权0,10,1,支持单边翻转。 每次查询长度为00的链的最大值。 Solution. 首先我们发现了一个性质,答案路径必然经过直径一端。 详细证明参见这篇题解,感性理解的话就是从直径不断删一端的边。 然后就做完了,可以考虑维护单点...
}voidbuild(intx,intl,intr){if(l==r){mx[x][ini[rev[l]]]=dep[rev[l]];return;}build(lson,l,mid),build(rson,mid+1,r),pushup(x); }voidmodify(intx,intl,intr,intL,intR){if(l>R||r<L)return;if(L<=l&&r<=R){REV(x);return;}pushdown(x),modify(lson,l,mid,L,R),modify(...
CF1413F Roads and Ramen 题解 Codeforces Luogu Description. 给定一个树,边带权\(0,1\),支持单边翻转。 每次查询长度为\(0\)的链的最大值。 Solution. 首先我们发现了一个性质,答案路径必然经过直径一端。 详细证明参见这篇题解,感性理解的话就是从直径不断删一端的边。 然后就做完了,可以考虑维护单点...
代码-CF1413F Roads and Ramen #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; #define x first #define y second #define bg begin() #define ed end() #define pb push_back #define mp make_pair ...