摘要:
用线段树维护三个值: $ll[x]$表示$x$区间中包括左端点的最大长度 $rr[x]$表示$x$区间中包括右端点的最大长度 $tr[x]$表示$x$区间中的最大长度 $tr[x]=\max(tr[x define il inline define rg register define gi rea 阅读全文
摘要:
将每一个点按照深度排序,每次取出深度最大的点,向上跳k个后再扩展标记. cpp include define il inline define rg register define gi read using namespace std; const int O = 1e5 + 10; struct 阅读全文
摘要:
我们知道最小生成树能够替换的边一定是任意的最小生成树的最小值,所以我们将最小生成树中大小不是最小的边染成黑色,将是最小的边染成灰色,将非树边染成白色.于是我们只用考虑灰色边的情况. 我们先随意生成一颗最小生成树,将不在这颗树中的灰色边逐一加入,每一条边的加入都会形成一个环.找出环上灰色的边,将这些边 阅读全文