题意:

给定一个有向无环图,求该图的最长路。

思路:

由于是有向无环图,所以最长路肯定是一个入度为0到出度为0的路径,拓扑序在确定当前点之前能够考虑到所有到它的情况,所以最后取个最值即可。

代码:

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 1e4+5;
const int maxm = 1e5+5;
struct node{int v, w, next;} edge[maxm];
int no, head[maxn];
int t, n, m;
int deg[maxn], val[maxn];
queue<int> q;
void init()
{no = 0;memset(head, -1, sizeof head);memset(deg, 0, sizeof deg);memset(val, 0, sizeof val);
}
inline void add(int u, int v, int w)
{edge[no].v = v; edge[no].w = w;edge[no].next = head[u]; head[u] = no++;
}
void topsort()
{while(!q.empty()) q.pop();for(int i = 1; i <= n; ++i)if(!deg[i]) q.push(i);int ans = 0;while(!q.empty()){int u = q.front(); q.pop();for(int k = head[u]; k+1; k = edge[k].next){int v = edge[k].v;val[v] = max(val[v], edge[k].w+val[u]);if(--deg[v] == 0) q.push(v);}}printf("%d\n", *max_element(val+1, val+n+1));
}
int main()
{for(scanf("%d", &t); t--;){scanf("%d %d", &n, &m); init();for(int i = 1; i <= m; ++i){int u, v, w;scanf("%d %d %d", &u, &v, &w);add(u, v, w); ++deg[v];}topsort();}return 0;
}

继续加油~

计蒜客-2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛H题Skiing(拓扑序求DAG最长路)相关推荐

  1. Skiing(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H)

    Problem Description In this winter holiday, Bob has a plan for skiing at the mountain resort. This s ...

  2. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛B: Out-out-control cars

    问题 B: Out-out-control cars 题目描述 Two out-of-control cars crashed within about a half-hour Wednesday a ...

  3. 2017acm乌鲁木齐赛区网络赛F题tarjan缩点

    poj1236是问把一棵树变成强联通分量,于是答案就是rudu为0的和出度为0的最大值,因为假设入度为0的多一些,先每个出度为0的连接一个入度为0的,那么还剩一些入度为0的,这时候入度为0的随意连接一 ...

  4. 计蒜客2020蓝桥杯大学A组模拟赛题解

    计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...

  5. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,剩下D题不知如何下手,望大佬指教. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:计算周长 B. 结果填空:七巧板 C. 结果填空:苹果 ...

  6. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  7. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,更新完毕. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:有趣的数字 B. 结果填空:爬楼梯 C. 结果填空:七巧板 D. 结果填空:苹果 ...

  8. 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)

    Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...

  9. 【计蒜客模拟赛系列】-计蒜客2021年8月普及组模拟赛

    提前:本文中部分代码和思路有借鉴或摘抄计蒜客官方题解 赛后总结 本次模拟赛的难度总算正常了些 个人战绩: 220/400,排名61 ,太弱了,一大堆AK爷 题目质量评价: 题目相比CSP-J还是简单了 ...

最新文章

  1. 小功能 - 收藏集 - 掘金
  2. random类的使用
  3. Science:致病菌激活根系内生微生物组抵抗病害的功能
  4. linux7.4安装语言包,CentOS 7.4安装时报错最简单最直接的解决办法
  5. 郑州学python_郑州Python基础知识点学习之内置类型
  6. 在JPA中处理Java的LocalDateTime
  7. 查看java线程堵塞排查_记一次应用线程被阻塞的问题排查
  8. Android嵌入式安卓触摸屏|4418开发板平台
  9. [设计模式-行为型]解释器模式(Interpreter)
  10. php 分页类 bootstrap,ThinkPHP分页使用bootstrap样式
  11. Error generating final archive: Debug certificate expired on的解决办法
  12. Linux-unit-10-11-日志,IP
  13. Java牛客项目课_仿牛客网讨论区_第七章
  14. springboot-shiro-jwt-redis实现用户登录的认证与授权(前后端分离)需要有一定shiro、jwt、redis、springboot基础
  15. 在博客右下角设置透明卡通小美女,附上源码
  16. Element UI中的图标
  17. Zabbix学习笔记(七)---网络波动监控
  18. javaIO流之缓冲流
  19. RLC无源网络线性元件的微分方程
  20. 六,iOS中的金额格式化和金额大小写转换

热门文章

  1. 金蝶首席用户体验官对“用户体验”的思考
  2. 远程桌面未知的用户名_在win7中连接到远程桌面时解决用户名和密码错误的问题...
  3. Activity-的-36-大难点,你会几个?「建议收藏」
  4. 【JokerのZYNQ7020】TIMER。
  5. hbulider初学教程及html5五子棋小程序
  6. 1.1.1. Ordinary Least Squares(普通最小二乘)
  7. python爬取pubmed的文献_使用python來調用pubmed API快速整理文獻
  8. 二、基础SpringBoot2.0.0M4项目目录讲解
  9. Android面试题(25)-Bundle机制
  10. ubuntu提示系统缺失字体:symbol、wingdings、wingdings2、wingdings3、webdings,WPS无法正确显示...