社区讨论
性感代码,在线求调
AT_nikkei2019_2_qual_dShortest Path on a Line参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m01w0r5l
- 此快照首次捕获于
- 2024/08/20 11:50 2 年前
- 此快照最后确认于
- 2025/11/04 22:59 4 个月前
WA #27 #31
Code:
CPP#include<bits/stdc++.h>
using namespace std;
long long n,m,u,v,w,ans[100005];
struct node{
long long to,qz;
friend bool operator <(node k,node kk){
return k.qz>kk.qz;
}
};
vector<node>p[100005];
void dij(){
priority_queue<node>q;
bool vis[100005];
ans[1]=0;
q.push(node{1,0});
while(!q.empty()){
int x=q.top().to;
q.pop();
if(vis[x]) continue;
vis[x]=true;
for(int i=0;i<p[x].size();i++){
if(ans[p[x][i].to]>ans[x]+p[x][i].qz){
ans[p[x][i].to]=ans[x]+p[x][i].qz;
if(!vis[p[x][i].to]) q.push(node{p[x][i].to,ans[p[x][i].to]});
}
}
}
}
int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v>>w;
p[u].push_back(node{v,w});
}
for(int i=2;i<=n;i++){
p[i].push_back(node{i-1,0});
}
for(int i=1;i<=100000;i++) ans[i]=1e18;
dij();
if(ans[n]!=1e18) cout<<ans[n];
else cout<<"-1";
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...