当前位置: 首页> 文旅> 文化 > 小企业网站建设厂家有哪些_河北seo推广方法_鞍山seo公司_网络营销和网上销售的区别

小企业网站建设厂家有哪些_河北seo推广方法_鞍山seo公司_网络营销和网上销售的区别

时间:2025/7/10 7:08:09来源:https://blog.csdn.net/Ct314/article/details/147130469 浏览次数:0次
小企业网站建设厂家有哪些_河北seo推广方法_鞍山seo公司_网络营销和网上销售的区别

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
vector<int> g[N];
int in[N];
int d[N];int main()
{int n,m;cin>>n>>m;while(m--){int u,v;cin>>u>>v;u--,v--;            // 转换为 0-based 索引g[u].push_back(v);  // 邻接表存边in[v]++;           // 计算入度}queue<int> q;for(int i=0;i<n;i++){if(in[i]==0){q.push(i);}}while(q.size()){int u=q.front();q.pop();for(int v:g[u]){d[v]=max(d[v],d[u]+1);   // 更新v的最远距离if(--in[v]==0){          // 入度减 1,若为 0 入队q.push(v);}}}int ans=*max_element(d,d+n);  // 获取最大的最远距离cout<<ans;return 0;
}

在有向无环图(DAG)中计算从入度为 0 的点出发的最长路径长度。

for (int v : g[u]) {
    d[v] = max(d[v], d[u] + 1);
}

这句话表示:"v 的最长路径 = max(当前的 v 的值, 从 u 走来加一条边的值)"

if (--in[v] == 0) {
    q.push(v);
}
v 的入度减 1(因为它的一个前驱 u 已经处理完了):如果入度变成 0,说明 v 所有前驱节点都已经处理完了。可以把 v 加进队列,表示继续遍历它指向的下一个节点

关键字:小企业网站建设厂家有哪些_河北seo推广方法_鞍山seo公司_网络营销和网上销售的区别

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: