社区讨论

萌妹刚学OI 关于这道题拓扑的部分有个疑惑

P2149[SDOI2009] Elaxia的路线参与者 6已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mi6zhnsb
此快照首次捕获于
2025/11/20 13:21
4 个月前
此快照最后确认于
2025/11/20 13:21
4 个月前
查看原帖
CPP
void Topo_sort()
{
	queue <int> q;
	q.push(x1);
	while(!q.empty())
	{
		int now=q.front();
		q.pop();
		for(int u=head[now];u;u=res[u].next)
		{
			int vis=res[u].to;
			in[vis]--;	
			f[vis]=max(f[vis],f[now]+res[u].val*res[u].flag);
			if(!in[vis]) q.push(vis);	
		}
	}
}
CPP
void Topo_sort()
{
	queue <int> q;
	q.push(x1);
	while(!q.empty())
	{
		int now=q.front();
		q.pop();
		for(int u=head[now];u;u=res[u].next)
		{
			int vis=res[u].to;
			in[vis]--;	
			if(!in[vis]) 
            {
            	q.push(vis);		   	f[vis]=max(f[vis],f[now]+res[u].val*res[u].flag);
			}	
		}
	}
}
以上两个拓扑求最长路 都可以AC 但是我觉得第二种不应该是错的吗?对于一个点只更新了一次

回复

5 条回复,欢迎继续交流。

正在加载回复...