赞
踩
int get_count(int x)//返回x的二进制有多少个1
int get_count(int x)
{
int res = 0;
while (x)
{
res ++ ;
x -= x & -x;
}
return res;
}
记得初始化头节点
const int N = 1e5 + 10, M = N * 2; int h[N], e[M], ne[M], idx; void add(int a, int b) //如果是无向图,加两条边 { e[idx] = b, ne[idx] = h[a], h[a] = idx++; } int dfs(int u) { state[u] = true; for(int i = h[u]; i != -1; i = ne[i]) { int j = e[i]; if(!state[j]) dfs(j); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。