跑dijiestra每个点的最短路径

#include<iostream>
#include<Vector>
#include<cstring>
#include<queue>
#include<cstdio>
#define mp make_pair
using namespace std;
typedef long long ll;
typedef pair<ll,ll> PII;
const ll inf=(ll)(1e15);
priority_queue<PII,vector<PII>,greater<PII> >q;
ll n,m,x,y,u,v,w,tar,t,c,val;
ll dis[][];
ll used[],d[];
vector<PII>graph[];
void dijiestra1(int a)
{
for(int i=;i<=n;i++) d[i]=inf;
memset(used,,sizeof(used));
d[a]=;
q.push(mp(,a));
while(!q.empty())
{
PII x=q.top();q.pop();
int u=x.second;
if(used[u]) continue;
used[u]=;
for(int i=;i<graph[u].size();i++)
{
x=graph[u][i];
int v=x.first,val=x.second;
if(d[v]>d[u]+val){d[v]=d[u]+val;q.push(mp(d[v],v));}
}
}
}
int main()
{
cin>>n>>m;
cin>>x>>y;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&u,&v,&val);
graph[u].push_back(mp(v,val));
graph[v].push_back(mp(u,val));
}
for(int i=;i<=n;i++)
{
dijiestra1(i);
for(int j=;j<=n;j++) dis[i][j]=dis[j][i]=d[j];
}
for(int i=;i<=n;i++) graph[i].clear();
for(int i=;i<=n;i++)
{
scanf("%d%d",&t,&c);
for(int j=;j<=n;j++) if(dis[i][j]<=t) graph[i].push_back(mp(j,c));
}
dijiestra1(x);
if(d[y]==inf) d[y]=-;
cout<<d[y]<<endl;
return ;
}

95C的更多相关文章

  1. 【codeforces 95C】Volleyball

    [题目链接]:http://codeforces.com/problemset/problem/95/C [题意] 给你n个点,m条边; 每个点有一辆出租车; 可以到达离这个点距离不超过u的点,且在这 ...

  2. Codeforces 95C Volleyball(最短路)

    题目链接:http://codeforces.com/problemset/problem/95/C C. Volleyball time limit per test 2 seconds memor ...

  3. 深入解析SQL Server并行执行原理及实践(下)

    谈完并行执行的原理,咱们再来谈谈优化,到底并行执行能给我们带来哪些好处,我们又应该注意什么呢,下面展开. Amdahl’s  Law 再谈并行优化前我想有必要谈谈阿姆达尔定律,可惜老爷子去年已经驾鹤先 ...

  4. [Java入门笔记] Java语言基础(四):流程控制

    流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...

  5. 在ionic/cordova中使用Form模型验证(w5cValidator)

    在构建ionic项目过程中,当我们创建一个类似表单提交的页面时,可能会对用户的输入内容做某些规则验证,通过后再执行提交处理. 在验证的过程中,为了提供较好的用户体验,可能希望有类似于jquery Va ...

  6. SpringMVC 文件上传&拦截器&异常处理

    文件上传 Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的.Spring 用 Jakarta Commons FileUpload ...

  7. ASP.NET MVC系列:添加控制器

    基于MVC的应用程序包含三个部分 Models(模型):对应用程序的数据进行处理 Views(视图):动态生成HTML,显示数据 Controllers(控制器):应用程序中处理用户交互的部分,处理浏 ...

  8. 【原】iOS学习38网络之数据解析

    1. 解析的基本的概念 解析:从事先规定好的格式中提取数据 解析前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JOSN解析 2. X ...

  9. 手机浏览器JS识别

    识别方法:采用Fiddler 抓包工具 侦测手机http链接,抓取http头 查看 工具:Fiddler 1:Fiddler配置 允许远程设备连接,配置端口为默认8888(确保8888端口没有被其他进 ...

随机推荐

  1. Oracle死锁查询及处理

    一.数据库死锁的现象程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错.二.死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更 ...

  2. jquery工具方法parseJSON

    error : 自定义错误 parseJSON : 字符串转json trim : 去除字符串头尾空字符 parseJSON方法先判断参数是否为字符串,否则返回空对象,再去除字符串头尾空字符,判断是否 ...

  3. 启动Eclipse后卡在 android sdk content loader 的解决办法

    Make sure that eclipse is not active. If it is active kill eclipse from the processes tab of the tas ...

  4. this.down和this.up用法

    down既可以加id也可以加xtype

  5. Android设置按钮为透明

    设置一个按钮为透明, (1)修改配置文件 <Button android:id="@+id/btnAppMore"     android:layout_width=&quo ...

  6. 详细学习ORACLE JOBS

    一点一点学习jobs的各个方面比较长,比较烦,但是应该看完后会对jobs比较好的应用 一.学习准备 开始dbms_job学习前,先认识一个参数job_queue_processes a.job_que ...

  7. UML类图归纳

    作为一个程序员,掌握UML类图是开发和阅读程序的基础. 转载请注明地址http://www.cnblogs.com/zrtqsk/p/3739288.html,谢谢! 一.基本介绍 UML是一种标准的 ...

  8. React Native开发技术周报2

    (1).资讯 1.React Native 0.22_rc版本发布 添加了热自动重载功能 (2).技术文章 1.用 React Native 设计的第一个 iOS 应用 我们想为用户设计一款移动端的应 ...

  9. GET请求参数为中文时乱码分析

    问题描述 近期做任务时,跟后端联调时遇到一个问题,前端发送get请求,当参数值有中文时,请求失败,请求参数变为乱码.(ps:一般当参数有中文时,很少使用get请求,而是使用post请求来传输数据,请求 ...

  10. FastFourierTransform (FFT)

    FastFourierTransform.h #pragma once #include <stdio.h> #include <math.h> #ifndef INCLUDE ...