] = ++cou;
int pre = cou;
visit[k] = true;
for(int i=pt[k]; i!=-1; i=b[i].next)
{
if(!visit[b[i].end])
{
dfs(b[i].end);
}
}
num[k] = cou - pre + 1;
}
int find(int x)
{
return x&(-x);
}
int get_sum(int x)
{
int s=0;
while(x>0)
{
s+=a[x];
x-=find(x);
}
return s;
}
void update(int x,int val)
{
while(x<=n)
{
a[x] += val;
x += find(x);
}
}
/***************************************************************
> File Name: POJ3321.cpp
> Author: SDUT_GYX
> Mail: 2272902662@qq.com
> Created Time: 2013/6/5 10:30:04
**************************************************************/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include