题意:
树杈上长苹果,统计苹果数.
思路:
将树通过dfs映射到线性序列, 用树状数组计数.
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = 100010;
int n,m;
int head[MAXN],num;
struct pool
{
int v,next;
}g[MAXN];
void add(int u, int v)
{
g[++num].v = v;
g[num].next = head[u];
head[u] = num;
}
inline int lowbit(int x)
{
return x&(-x);
}
int l[MAXN],r[MAXN];
void dfs(int u)
{
l[u] = ++num;
for(int i=head[......
阅读全文