社区讨论
拓扑37分过了闭关
P1807最长路参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mjp5cr9r
- 此快照首次捕获于
- 2025/12/28 11:05 2 个月前
- 此快照最后确认于
- 2025/12/31 18:45 2 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,in[1510],m;
vector<pair<int,int> > g[1510];
int dp[1510];
int hh,tt;
int toposort()
{
queue<int> q;
memset(dp,-0x3f,sizeof(dp));
q.push(1);
dp[1]=0;
while(q.size())
{
auto a=q.front();
q.pop();
for(auto p:g[a])
{
int v=p.first,w=p.second;
dp[v]=max(dp[a]+w,dp[v]);
if(!(--in[v])) q.push(v);
}
}
if(dp[n]==-0x3f3f3f3f) return -1;
return dp[n];
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int u,v,w;
cin>>u>>v>>w;
g[u].push_back({v,w});
in[v]++;
}
cout<<toposort();
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...