需要判断从 1∼n1 \sim n1∼n 的路径会经过哪些点,一定需要建反边吗?
在赛时写了一个不是建反边的做法结果WA掉了
//dfs部分 void dfs(int u){ ised[u]=1; for(int i=hd[u];i;i=e[i].nxt){ int v=e[i].to; if(v==u||ised[v]) continue; dfs(v); bk[u]|=bk[v]; } } //main函数 bk[n]=1; dfs(1);