题解:AT_abc244_f [ABC244F] Shortest Good Path
fengpengyu · · 题解
考虑状态压缩。
可以设
初始化令
放一下 BFS 的代码
while(!mine.empty()){
int s=mine.front().first,x=mine.front().second;
mine.pop();
for(int i=head[x];i;i=E[i].nxt){
int v=E[i].to,p=s^(1<<v);
if(dp[p][v]!=res) continue;//res是正无穷
dp[p][v]=dp[s][x]+1;
mine.push({p,v});
}
}