当前位置: 首页 > news >正文

【Dij】P1807 最长路

题意

GGG 为有 nnn 个顶点的带权有向无环图,GGG 中各顶点的编号为 111nnn,请设计算法,计算图 GGG1,n1, n1,n 间的最长路径。

输入格式

输入的第一行有两个整数,分别代表图的点数 nnn 和边数 mmm

222 到第 (m+1)(m + 1)(m+1) 行,每行 333 个整数 u,v,wu, v, wu,v,wu<vu<vu<v),代表存在一条从 uuuvvv 边权为 www 的边。

输出格式

输出一行一个整数,代表 111nnn 的最长路。

111 无法到达 nnn,请输出 −1-11

数据范围

  • 对于 20%20\%20%的数据,n≤100n \leq 100n100m≤103m \leq 10^3m103
  • 对于 40%40\%40% 的数据,n≤103n \leq 10^3n103m≤104m \leq 10^{4}m104
  • 对于 100%100\%100% 的数据,1≤n≤15001 \leq n \leq 15001n15000≤m≤5×1040 \leq m \leq 5 \times 10^40m5×1041≤u,v≤n1 \leq u, v \leq n1u,vn−105≤w≤105-10^5 \leq w \leq 10^5105w105

思路

单源最短路问题板题,本次做这题只是为了重新找回手感,详见我之前写的blog。

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
//存图 
int n,m;
int head[1505],nex[50005],cnt = 0;
struct edge{int to,w;
}node[50005];
void add(int x,int y,int w) {nex[++cnt] = head[x];head[x] = cnt;node[cnt].to = y;node[cnt].w = w;
}
struct point{int id,w;friend bool operator <(point x,point y) {return x.w < y.w;}
}; 
priority_queue<point>P;
int ans[1505];
signed main() {scanf("%lld %lld",&n,&m);for(int i = 2;i <= n;i++) ans[i] = -100000000000;for(int i = 1;i <= m;i++) {int x,y,z;scanf("%lld %lld %lld",&x,&y,&z);add(x,y,z);} point t;t.id = 1,t.w = 0;P.push(t);while(!P.empty()) {t = P.top();P.pop();for(int i = head[t.id];i;i = nex[i]) {if(ans[node[i].to] < ans[t.id] + node[i].w) {ans[node[i].to] = ans[t.id] + node[i].w;point new_point;new_point.id = node[i].to;new_point.w = ans[node[i].to];P.push(new_point);}}}if(ans[n] == -100000000000) printf("-1\n");else printf("%lld\n",ans[n]);return 0;
}
http://www.dtcms.com/a/292625.html

相关文章:

  • Linux文件——文件系统Ext2(1)_理解硬件
  • js的基本内容:引用、变量、打印、交互、定时器、demo操作
  • 【LeetCode 热题 100】46. 全排列——回溯
  • Windows 编程辅助技能:转到文档
  • 【方案】网页由微应用拼图,微前端
  • 『 C++ 入门到放弃 』- 红黑树
  • 一文详解Java类中的构造器是什么及主要特性
  • 70.爬楼梯
  • ABP VNext 报表:EPPlus DinkToPdf 多格式导出
  • redis秒杀之lua脚本
  • 20250722解决在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13出现找不到python2的问题
  • GraphRAG的部署和生成检索过程体验
  • C++11--锁分析
  • npm全局安装后,依然不是内部或外部命令,也不是可运行的程序或批处理文件
  • 大数据量查询计算引发数据库CPU告警问题复盘
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第二十二讲)
  • Linux_Ext系列文件系统基本认识(一)
  • Product Hunt 每日热榜 | 2025-07-22
  • “鱼书”深度学习入门 笔记(1)前四章内容
  • day19 链表
  • 【科研绘图系列】R语言绘制柱状堆积图
  • 基于 Vue,SPringBoot开发的新能源充电桩的系统
  • 豪鹏科技锚定 “AI + 固态” 赛道:从电池制造商到核心能源方案引领者的战略跃迁
  • mybatis拦截器实现唯一索引的动态配置
  • 网络基础DAY16-MSTP-VRRP
  • git reset --soft和 git reset --mixed的主要区别
  • 智能制造——解读制造业企业数字化转型实施指南2025【附全文阅读】
  • libgmp库(GNU高精度算术库)介绍
  • 算法训练营day28 贪心算法②122.买卖股票的最佳时机II、55. 跳跃游戏、 45.跳跃游戏II 、1005.K次取反后最大化的数组和
  • Web服务器(Tomcat、项目部署)