题目选自洛谷P1807

对于一个有向无环图,可以采取广搜将结点依次搜索,记录当前结点的最长路并在循环过程中不断更新。

题目描述

设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到 n,请设计算法,计算图 G 中 1,n 间的最长路径。

输入格式

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

第 2 到第 (m + 1) 行,每行 3 个整数 u,v,w,代表存在一条从 u 到 v 边权为 w 的边。

输出格式

输出一行一个整数,代表 1 到 n 的最长路。

若 1 与 n 不连通,请输出 −1。

输入输出样例

输入 1

2 1
1 2 1

输出 1

1

解题代码:

#include<stdio.h>
#include<iostream>
#include<math.h>
#include<algorithm>
#include<queue>
using namespace std;
queue<int>q;
int n,m,u,v,w;
int d[1501],mp[1501][1501];
void bfs(){memset(d,-1,sizeof(d));d[1]=0; q.push(1); //初始化操作while(!q.empty()){int t = q.front();for(int i=1;i<=n;i++){if(mp[t][i] && d[i] < d[t] + mp[t][i]){//如果从队列头到当前结点i有边,但不是最长//(即此点的最长路小于队列头最长路加t-i的路径长) d[i] = d[t] + mp[t][i];q.push(i);}}q.pop();}
}
int main(){cin>>n>>m;for(int i=0;i<m;i++){cin>>u>>v>>w;mp[u][v]=max(mp[u][v],w);}bfs();cout<<d[n];return 0;
}

图论——最长路(洛谷 P1807)相关推荐

  1. 图论--最长路--洛谷P1807 最长路_NOI导刊2010提高(07)

    题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j.设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径. 输入格式 ...

  2. 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论

    洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...

  3. 信息学奥赛一本通 1116:最长平台 | OpenJudge NOI 1.9 12:最长平台 | 洛谷 B2097 最长平台

    [题目链接] ybt 1116:最长平台 OpenJudge NOI 1.9 12:最长平台 洛谷 B2097 最长平台 [题目考点] 1. 数组中做统计 2. 求最大值 [解题思路] 解法1:遍历并 ...

  4. 图论-最长路--关于最长路的探讨2

    之前我们说完最长路的算法,这里我们进一步的补充! 关于最长路,我们想一下如果是有向有环图,那么如果不存在负权的话,那么这个题是不可解的,因为在正环上一直走,路径无限大,那么也就是说,当为正权的时候一定 ...

  5. 图论--网络流--最大流 洛谷P4722(hlpp)

    题目描述 给定 nn 个点,mm 条有向边,给定每条边的容量,求从点 ss 到点 tt 的最大流. 输入格式 第一行包含四个正整数nn.mm.ss.tt,用空格分隔,分别表示点的个数.有向边的个数.源 ...

  6. 图论——图的遍历(洛谷 P3916)

    题目选自洛谷P3916 反向建边 + dfs 按题目来每次考虑每个点可以到达点编号最大的点,不如考虑较大的点可以反向到达哪些点 循环从N到1,则每个点i能访问到的结点的A值都是i 每个点访问一次,这个 ...

  7. 图论算法——幻象迷宫(洛谷 P1363)

    题目选自洛谷P1363 大概就是说给出一个01迷宫类的地图,按照这个地图来扩展新地图,类似这样 然后问你是不是###可以走无限远. ###那么,我们可以很清晰的意识到,如果可以从点(x,y)出发,达到 ...

  8. 洛谷 P2296 寻找道路

    感慨 周五比赛的测试题,结果到比赛结束也没有读懂题意...给的样例太少了,我一直以为我是不是spfa敲错了...没想到中间还有卡的地方 分析 题目中的一句耐人寻味的话"路径上的所有点的出边所 ...

  9. 洛谷 P1127 词链

    词链 题目链接 题目描述 如果单词 X X X 的末字母与单词 Y Y Y 的首字母相同,则 X X X 与 Y Y Y 可以相连成 X . Y X.Y X.Y.(注意: X X X. Y Y Y 之 ...

最新文章

  1. MyEclipse断点调试
  2. 第十三课.随机近似初步:蒙特卡洛方法
  3. vue项目通过命令行传参实现多环境配置(基于@vue/cli)
  4. C++ 函数部分(1)
  5. 高端第一后,卡萨帝又将靠场景化引领冰箱行业
  6. 多级队列调度算法可视化界面_冷月手撕408之操作系统(8)-处理机调度
  7. 花了25万,还是得不到一模一样的猫!国内首只克隆猫主人发声...
  8. 偶然发现SQL2005中文版里有vs2005中文安装包
  9. c 语言 二维数组地址,C/C++ 关于一维或二维数组首地址表示含义
  10. 006-Zabbix agent on Zabbix server is unreachable for 5 minutes
  11. 基于Redis的微博关注与粉丝
  12. 学完oracle 再学mysql_一篇文章让Oracle程序猿学会MySql【未完待续】
  13. view转换成html字符串,从Webview获取html字符串并将其存储为html文件
  14. 解决在局域网内QQ传文件慢的问题(转)
  15. 搭建Visual Studio C语言开发环境
  16. hdu 3689 Infinite monkey theorem (KMP+DP)
  17. java中级程序员需要掌握的一些必备知识
  18. GCC编译宏_GLIBCXX_USE_CXX11_ABI背景分析和实现原理
  19. 广东省开展2022年省级制造业单项冠军企业(产品)培育遴选
  20. C语言基础编程(switch语句)

热门文章

  1. C# 操作符重载 模拟String
  2. 微软中国:Morro可能将不进入中国市场
  3. 企业级管理软件快速开发平台-完整的权限管理设计
  4. Session.Abandon和Session.Clear有何不同?
  5. Web前端——JavaScript(dom文档对象模型)
  6. (35)Gulp 构建任务组合
  7. CSS flex 盒子在 Chrome 和 Safari 中的行为差异
  8. Bootstrap3 带条纹的表格样式
  9. CSS两栏布局之右栏布局
  10. raw.githubusercontent.com无法连接