关于 deque
  • 板块学术版
  • 楼主kncjjdr05
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/3 07:22
  • 上次更新2024/7/3 10:45:33
查看原帖
关于 deque
613925
kncjjdr05楼主2024/7/3 07:22

他死了

rt,两份代码,一份 SPFA,一份加了 SLF 优化,跑负环 3385。前者可过,后者 RE on #9。

bool spfa() {
	queue<int> q;
	q.push(s);
	dis[s] = 0;
	vis[s] = 1;
	while (!q.empty()) {
		int u = q.front(); q.pop();
		vis[u] = 0;
		for (auto e : graph[u]) {
			int v = e.v, w = e.w;
			if (dis[v] > dis[u] + w) {
				dis[v] = dis[u] + w;
				cnt[v] = cnt[u] + 1;
				if (cnt[v] >= n) return 0;
				if (!vis[v]) {
					q.push(v);
					vis[v] = 1;
				}
			}
		}
	}
	return 1;
}
bool spfa() {
	q.push_back(s);
	dis[s] = 0;
	vis[s] = 1;
	while (!q.empty()) {
		int u = q.front(); q.pop_front();
		vis[u] = 0;
		for (auto e : graph[u]) {
			int v = e.v, w = e.w;
			if (dis[v] > dis[u] + w) {
				dis[v] = dis[u] + w;
				cnt[v] = cnt[u] + 1;
				if (cnt[v] >= n) return 0;
				if (!vis[v]) {
					if (dis[v] < dis[q.front()]) q.push_front(v);
					else q.push_back(v);
					vis[v] = 1;
				}
			}
		}
	}
	return 1;
}

但是我记得 queue 的默认底层是 deque,求助

2024/7/3 07:22
加载中...