具体是哪两层啊……
```cpp
for(int i=head[x];i;i=e[i].nxt)
{
int y=e[i].to;
if(vis[y])continue;
dp(y);
for(int k=1;k<=n;k++)
{
ll sum=0;
for(int j=1;j<=n;j++)sum+=f[y][k]*(g[k][j]&del[k]&del[j]);
f[x][j]*=sum;
}
}
```
j和k吗?
by Rorschach_XR @ 2019-07-23 15:52:28
没事了……fread+register卡过去了hhh
by Rorschach_XR @ 2019-07-23 16:14:51
```cpp
for(int k=s;k;k-=k&-k){
f[x][r[k&-k]]=1;
for(int i=0;i<G[x].size();i++){
int y=G[x][i];
if(y==p)continue;
long long t=0;
for(int j=s;j;j-=j&-j)if(e[r[k&-k]+1][r[j&-j]+1])t+=f[y][r[j&-j]];
f[x][r[k&-k]]*=t;
}
}
```
--TLE
```cpp
for(int k=s;k;k-=k&-k)f[x][r[k&-k]]=1;
for(int i=0;i<G[x].size();i++){
int y=G[x][i];
if(y==p)continue;
for(int k=s;k;k-=k&-k){
long long t=0;
for(int j=s;j;j-=j&-j)if(e[r[k&-k]+1][r[j&-j]+1])t+=f[y][r[j&-j]];
f[x][r[k&-k]]*=t;
}
}
```
--AC
by pengyule @ 2021-12-25 15:33:13