![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基环树
make_it_for_good
这个作者很懒,什么都没留下…
展开
-
bzoj 2791 [Poi2012]Rendezvous 倍增lca 基环树
这是一个基环内向树森林。两个点如果在一个子树中,直接倍增lca。 否则两个点先走到环上,然后一个点不动,另一个点走到这个点。#include <bits/stdc++.h>using namespace std;#define N 510000int n,q,top,cnt;int fa[N][21];int vis[N],st[N],inc[N],root[N],deep[N];in原创 2016-11-14 17:43:45 · 636 阅读 · 0 评论 -
bzoj 1040 [ZJOI2008]骑士 基环树 dp
这是一个基环树森林。 对于每块,对于环上的每一棵树设f[i][0/1]表示选/不选点i,i子树中的最大收益。 对于每个环设g[i][0/1][0/1]表示第一个点选/不选,第i个点选/不选的最大收益。 然后把每个基环树的收益加和就是答案。#include <bits/stdc++.h>using namespace std;#define ll long long#define N 11原创 2016-11-23 15:37:09 · 461 阅读 · 0 评论