1459

双限制最短路

#include <stdio.h>
#include <iostream>
#include <vector>
#include <math.h>
#include <algorithm>
#include <queue>
#include <string.h>
#include <set>
#include <stack>
#include <stdlib.h>
#include <time.h> using namespace std; const int MAX = 0x1f1f1f1f;
int d[];
int g[][];
int v[];
int dd[];
bool f[] = {}; void dji(int n, int s, int e) {
for(int i=; i<n; i++) {
v[i] = g[s][i];
dd[i] = d[i]+d[s];
}
dd[s] -= d[s];
v[s] = ;
f[s] = ;
for(int k=; k<n; ++k) {
int mi=-, mmin = MAX, sc = -;
for(int j=; j<n; j++) {
if(!f[j]) {
if((v[j] == mmin && dd[j] > sc) || v[j] < mmin) {
sc = dd[j];
mmin = v[j];
mi = j;
}
}
}
if(mi == -) break;
f[mi] = ;
for(int i=; i<n; i++) {
if(v[i] > mmin + g[mi][i]) {
v[i] = mmin + g[mi][i];
dd[i] = sc + d[i];
} else if(v[i] == mmin + g[mi][i]) {
dd[i] = max(dd[i], sc + d[i]);
}
}
}
printf("%d %d\n",v[e], dd[e]);
} int main() {
int n, m, s, e;
memset(g, 0x1f, sizeof(g));
scanf("%d%d%d%d",&n,&m,&s,&e);
for(int i=; i<n; i++)
scanf("%d",&d[i]);
for(int i=; i<m; i++) {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
g[a][b] = g[b][a] = c;
}
dji(n,s,e);
}

1212 MST

51nod 1459 & 1212的更多相关文章

  1. 51nod 1459 迷宫游戏(dij)

    题目链接:51nod 1459 迷宫游戏 dij裸题. #include<cstdio> #include<cstring> #include<algorithm> ...

  2. 51nod 1459 迷宫游戏 dijkstra模板

    链接:迷宫游戏 问题 - 51Nod  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1459 1459 迷宫游戏  基准 ...

  3. 51Nod 1459:迷宫游戏(最短路)

    1459 迷宫游戏  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间, ...

  4. 51nod 1459 迷宫游戏【最短路拓展】

    1459 迷宫游戏 基准时间限制:1 秒 空间限制:131072 KB   你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数.还有若干双向道路连 ...

  5. 51nod 1459 迷宫游戏 (最短路径—Dijkstra算法)

    题目链接 中文题,迪杰斯特拉最短路径算法模板题. #include<stdio.h> #include<string.h> #define INF 0x3f3f3f3f ],v ...

  6. 【ACM】那些年,我们挖(WA)过的最短路

    不定时更新博客,该博客仅仅是一篇关于最短路的题集,题目顺序随机. 算法思想什么的,我就随便说(复)说(制)咯: Dijkstra算法:以起始点为中心向外层层扩展,直到扩展到终点为止.有贪心的意思. 大 ...

  7. 51Nod 1212 无向图最小生成树 (路径压缩)

    N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树.   Input 第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量.(2 <= N <= 1000, 1 &l ...

  8. 51Nod 1212无向图最小生成树

    prim #include<stdio.h> #include<string.h> #define inf 0x3f3f3f3f ][]; ],lowc[]; ],int n) ...

  9. 51nod 1212 无向图最小生成树(Kruskal模版题)

    N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树.   Input 第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量.(2 <= N <= 1000, 1 &l ...

随机推荐

  1. STL中的函数对象实现负数的定义

    // // main.cpp // STL中的函数对象 // // Created by mac on 2019/5/2. // Copyright © 2019年 mac. All rights r ...

  2. JS ES6中export和import详解

    1.Export 模块是独立的文件,该文件内部的所有的变量外部都无法获取.如果希望获取某个变量,必须通过export输出, // profile.js export var firstName = ' ...

  3. DO、VO、DTO 区别

    DTO:数据传输对象,主要用于外部接口参数传递封装,接口与接口进行传递使用. VO:视图对象,主要用于给前端返回页面参数使用. DO:数据对象,主要用于数据库层传递. DTO转DO:接口接收参数将参数 ...

  4. Golang高阶:Golang1.5到Golang1.12包管理

    Golang1.5到Golang1.12包管理 1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时候算是正式推出了,然后到最近的一两年,2017-2018年的时候,突然直线上 ...

  5. 2019年全国高校sql数据库

    2019年全国高校名单sql数据库信息: 根据教育部发布的文件整理形成可用.sql文件,导入数据库即可使用. 包括全国高等学校共计2956所,其中:普通高等学校2688所(含独立学院257所),成人高 ...

  6. 4_PHP流程控制语句_2_循环结构

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP流程控制共有3种类型:条件控制结构.循环结构以及程序跳转和终止语句. 4.2 循环结构 4.2.1 whil ...

  7. 通过 Java 压缩文件,打包一个 tar.gz 采集器包

    一.如何通过 Java 打包文件 1.1 添加 Maven 依赖 <dependency> <groupId>org.apache.commons</groupId> ...

  8. 如何设置MySql Server远程访问(Debian Linux)

    1. 登录Mysql Server: $mysql -u root -p 2. 检查网络,Server是否允许远程连接: mysql> show variables like '%skip_ne ...

  9. bootstrap table分页limit计算pageIndex和pageSize

    由于bootstrap table的js无法直接获取pageSize和pageIndex的值,只能通过limit进行计算.

  10. Intellij的Terminal框里输入npm无效

    Intellij的Terminal框里输入npm无效,解决办法: 1.安装node.js的时候选择全部安装: 2.在intellij的file->settings->Tools->T ...