German Collegiate Programming Contest 2018
// 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的更多相关文章
- German Collegiate Programming Contest 2018 B. Battle Royale
Battle Royale games are the current trend in video games and Gamers Concealed Punching Circles (GCPC ...
- 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 ...
- German Collegiate Programming Contest 2018 A. Attack on Alpha-Zet
题目链接https://nanti.jisuanke.com/t/28852 题目大意是 h*w 的平面,每两个点有且仅有一条路径,类似于封闭的联通空间,然后在这h*w个点中选取(标记为1~N)N个点 ...
- 2018 German Collegiate Programming Contest (GCPC 18)
2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...
- (寒假GYM开黑)2018 German Collegiate Programming Contest (GCPC 18)
layout: post title: 2018 German Collegiate Programming Contest (GCPC 18) author: "luowentaoaa&q ...
- 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 ...
- (寒假开黑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 ...
- German Collegiate Programming Contest 2015 计蒜课
// Change of Scenery 1 #include <iostream> #include <cstdio> #include <algorithm> ...
- 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\) ...
随机推荐
- 1137 - Sin your life sin公式 + 枚举
http://www.ifrog.cc/acm/problem/1137 和差化积公式, 变成2 * sin((x + y) / 2) * cos((x - y) / 2) + sin(n - (x ...
- css3相关样式
1.渐变 1.1 线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向 background: linear-gradient(direction, color-stop1 ...
- zuul的本地跳转
- Kendo MVVM 数据绑定(九) Text
Kendo MVVM 数据绑定(九) Text Text 绑定可以使用 ViewModel 来设置 DOM 元素的文本属性,如果需要设置 input,textarea,或 select 的显示,需要使 ...
- SQL基本语法总结
#创建数据库 DROP DATABASE IF EXISTS 数据库名; CREATE DATABASE 数据库名; #展示所有的数据库: SHOW DATABASES; #查看某个数据库的定义信息: ...
- ubuntu 12.04 source.list 源更新
官方源: #deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120423)]/ precise main restri ...
- 你会如何给全局对象添加toString()方法
首先,在讨论如何给所有方法window对象添加toString方法的时候,我们先来说说window的对象继承与对象实例,以及构造函数的this指针,还有变量的提升与方法的调用方式,最终一探window ...
- Berkeley DB (VC6.0 编译环境配置)
操作系统:winxp VC环境:VC6.0 必需文件:Berkeley DB安装文件(db-.msi) 下载地址:http://www.oracle.com/technology/software/p ...
- processing制作动态山水背景
效果代码 float theta, step; int num=5, frames = 1200; Layer[] layers = new Layer[num]; // void setup() { ...
- ACM博弈论基础
博弈论的题目有如下特点: 有两名选手 两名选手交替操作,每次一步,每步都在有限的合法集合中选取一种进行 在任何情况下,合法操作只取决于情况本身,与选手无关 游戏败北的条件为:当某位选手需要进行操作时, ...