警示后人 如果你MLE on #3
查看原帖
警示后人 如果你MLE on #3
473443
vegetable_milk_loong楼主2024/11/26 21:05

看看有没有类似这样的语句:

for(auto v:g[u]){
  f[v]=max(f[v],f[u]+val[v]);
  q.push(v);
}

如果有,请改成:

for(auto v:g[u]){
  if(f[v]<f[u]+val[v]){
    f[v]=max(f[v],f[u]+val[v]);
    q.push(v);
  }
}

这样可以避免存储大量对答案没有贡献的点

还有只需要对起点进行tarjan,因为只有起点能到的点才对答案有贡献

2024/11/26 21:05
加载中...