社区讨论
竟食后人(TLE[20,30])
P14578【模板】无源汇上下界可行流参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mkgt7u9i
- 此快照首次捕获于
- 2026/01/16 19:43 2 个月前
- 此快照最后确认于
- 2026/01/18 21:30 2 个月前
如果你一直TLE,可能是你偷懒用dep数组标记时dep[s]没有赋值正确。应该没人像我一样唐吧。
CPPbool bfs(int sc) {
memset(dep, 0, sizeof (int) * (sc + 1));
queue<int> q;
q.push(s), dep[s] = 1;
while (q.size()) {
int u = q.front(); q.pop();
for (int i = head[u]; ~i; i = g[i].nxt)
if (g[i].w && !dep[g[i].v]) q.push(g[i].v), dep[g[i].v] = dep[u] + 1;
}
return dep[t];
}
不能写成
CPPbool bfs(int sc) {
memset(dep, 0, sizeof (int) * (sc + 1));
queue<int> q;
q.push(s);//dep[s]赋值错误,导致可以倒回来更新dep[s]
while (q.size()) {
int u = q.front(); q.pop();
for (int i = head[u]; ~i; i = g[i].nxt)
if (g[i].w && !dep[g[i].v]) q.push(g[i].v), dep[g[i].v] = dep[u] + 1;
}
return dep[t];
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...