//   Coolest Ski Route
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <utility>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <cstdlib>
#include <cmath>
typedef long long ll;
#define lowbit(x) (x&(-x))
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
using namespace std;
#define pi acos(-1)
typedef pair<int,int> P;
const int N=;
const int inf=0x3f3f3f3f;
int dis[N];
int n,m;
struct Node{
int to,w;
Node(){}
Node(int TO,int W){
to=TO;
w=W;
}
};
vector<Node>vec[N];
void bfs(){
priority_queue<P,vector<P>,less<P> >que;//队首元素为最长距离
for(int i=;i<=n;i++){
que.push(P(,i));//起初,只有自己到自己
}
while(!que.empty()){
P q=que.top();
que.pop();
int v=q.second;
if(dis[v]>q.first) continue;//比当前的还大,就不用继续往下找了
for(int i=;i<vec[v].size();i++){
Node Nod=vec[v][i];
int t=Nod.to;
if(dis[t]<dis[v]+Nod.w){
dis[t]=dis[v]+Nod.w;//不断更新dis[t]
que.push(P(dis[t],t));
}
}
}
}
int main()
{
scanf("%d%d",&n,&m);
int s,t,c;
for(int i=;i<m;i++)
{
scanf("%d%d%d",&s,&t,&c);
vec[s].push_back(Node(t,c));//有向图
}
memset(dis,,sizeof(dis));//要初始化为0
bfs();
int MAX=-inf;
for(int i=;i<=n;i++){
MAX=max(MAX,dis[i]);//i为终点,dis[i]为到i的最大路径长度
}
printf("%d\n",MAX);
return ;
}
 //   Coolest Ski Route
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e3+;
struct Node{
int to,w;
Node(){}
Node(int TO,int W){
to=TO;
w=W;
}
};
vector<Node> vs[N];
int d[N],in[N];
void dfs(int v) {
for(int i = ; i < vs[v].size(); i ++) {
Node Nod =vs[v][i];
int u=Nod.to;
if(d[u] < d[v] + Nod.w ) {
d[u] = d[v] + Nod.w;
dfs(u);
}
}
}
int main() {
int n, m;
cin >> n >> m;
for(int i = ; i < m; i ++) {
int u, v, w;
cin >> u >> v >> w;
vs[u].push_back(Node(v,w));
in[v]++;
}
for(int i = ; i <= n; i ++) {
if(!in[i])//本题任意两点之间为单向
dfs(i);
}
int MAX = ;
for(int i = ; i <= n; i ++) MAX = max(MAX, d[i]);
printf("%d\n",MAX);
return ;
}

German Collegiate Programming Contest 2018​的更多相关文章

  1. German Collegiate Programming Contest 2018​ B. Battle Royale

    Battle Royale games are the current trend in video games and Gamers Concealed Punching Circles (GCPC ...

  2. German Collegiate Programming Contest 2018​ C. Coolest Ski Route

    John loves winter. Every skiing season he goes heli-skiing with his friends. To do so, they rent a h ...

  3. German Collegiate Programming Contest 2018​ A. Attack on Alpha-Zet

    题目链接https://nanti.jisuanke.com/t/28852 题目大意是 h*w 的平面,每两个点有且仅有一条路径,类似于封闭的联通空间,然后在这h*w个点中选取(标记为1~N)N个点 ...

  4. 2018 German Collegiate Programming Contest (GCPC 18)

    2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...

  5. (寒假GYM开黑)2018 German Collegiate Programming Contest (GCPC 18)

    layout: post title: 2018 German Collegiate Programming Contest (GCPC 18) author: "luowentaoaa&q ...

  6. ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syria, Lattakia, Tishreen University, April, 30, 2018

    ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syr ...

  7. (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)

    layout: post title: (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) au ...

  8. German Collegiate Programming Contest 2015 计蒜课

    // Change of Scenery 1 #include <iostream> #include <cstdio> #include <algorithm> ...

  9. 2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)(9/11)

    $$2017-2018\ ACM-ICPC\ German\ Collegiate\ Programming\ Contest (GCPC 2017)$$ \(A.Drawing\ Borders\) ...

随机推荐

  1. 1137 - Sin your life sin公式 + 枚举

    http://www.ifrog.cc/acm/problem/1137 和差化积公式, 变成2 * sin((x + y) / 2) * cos((x - y) / 2) + sin(n - (x ...

  2. css3相关样式

    1.渐变 1.1 线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向 background: linear-gradient(direction, color-stop1 ...

  3. zuul的本地跳转

  4. Kendo MVVM 数据绑定(九) Text

    Kendo MVVM 数据绑定(九) Text Text 绑定可以使用 ViewModel 来设置 DOM 元素的文本属性,如果需要设置 input,textarea,或 select 的显示,需要使 ...

  5. SQL基本语法总结

    #创建数据库 DROP DATABASE IF EXISTS 数据库名; CREATE DATABASE 数据库名; #展示所有的数据库: SHOW DATABASES; #查看某个数据库的定义信息: ...

  6. ubuntu 12.04 source.list 源更新

    官方源: #deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120423)]/ precise main restri ...

  7. 你会如何给全局对象添加toString()方法

    首先,在讨论如何给所有方法window对象添加toString方法的时候,我们先来说说window的对象继承与对象实例,以及构造函数的this指针,还有变量的提升与方法的调用方式,最终一探window ...

  8. Berkeley DB (VC6.0 编译环境配置)

    操作系统:winxp VC环境:VC6.0 必需文件:Berkeley DB安装文件(db-.msi) 下载地址:http://www.oracle.com/technology/software/p ...

  9. processing制作动态山水背景

    效果代码 float theta, step; int num=5, frames = 1200; Layer[] layers = new Layer[num]; // void setup() { ...

  10. ACM博弈论基础

    博弈论的题目有如下特点: 有两名选手 两名选手交替操作,每次一步,每步都在有限的合法集合中选取一种进行 在任何情况下,合法操作只取决于情况本身,与选手无关 游戏败北的条件为:当某位选手需要进行操作时, ...