点击打开链接

竟然是最短路!!!!

藏的好深啊

/*
求从路1走到路i的最小危险值,
给出n条路的起点和终点,当i,j两路有重合的,我们使map[i][j]=v[j];
把路当作最短路中的点,如果有重合的map[i][j]=v[j];
否则,map[i][j]=inf;
之后按照最短路的求法就可以了,注意最后要加上v[1]; */
#include"stdio.h"
#include"string.h"
#define N 2011
#define inf 999999999 struct node
{
int a,b,c;
}A[N];
int map[N][N];
int n,m;
int dis[N];
int mark[N];
void dijk()
{
int i,j,min,k;
memset(mark,0,sizeof(mark));
for(i=1;i<=n;i++)
dis[i]=map[1][i];
mark[1]=1; for(i=1;i<n;i++)
{
min=inf;k=-1;
for(j=1;j<=n;j++)
{
if(!mark[j]&&min>dis[j])
{
min=dis[j];
k=j;
}
}
if(k==-1)break;
mark[k]=1;
for(j=1;j<=n;j++)
{
if(!mark[j]&&dis[j]>dis[k]+map[k][j])
dis[j]=dis[k]+map[k][j];
}
}
}
int main()
{
int T;
int i,j;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m); for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
map[i][j]=inf;
map[i][i]=0;
} for(i=1;i<=n;i++)
scanf("%d%d%d",&A[i].a,&A[i].b,&A[i].c);
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(A[i].b>=A[j].a&&A[j].b>=A[i].b)
map[i][j]=A[j].c;
}
}
dijk();
int a;
while(m--)
{
scanf("%d",&a);
if(dis[a]<inf)printf("%d\n",dis[a]+A[1].c);
else printf("-1\n");
}
}
return 0;
}

hdu 2851(最短路)的更多相关文章

  1. HDU 2851 (最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2851 题目大意:给出N条路径,M个终点(是路径的编号) .重合的路径才算连通的,且路径是单向的.每条路 ...

  2. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

  3. UESTC 30 &&HDU 2544最短路【Floyd求解裸题】

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  4. hdu 5521 最短路

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  5. HDU - 2544最短路 (dijkstra算法)

    HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...

  6. hdu - 2851 Lode Runner (最短路)

    http://acm.hdu.edu.cn/showproblem.php?pid=2851 首先有n层,每层的路径都有一个起点和终点和对应的危险值,如果某两层之间有交集,就能从这一层上到另外一层,不 ...

  7. HDU2112 HDU Today 最短路+字符串哈希

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. hdu 2544 最短路

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...

  9. hdu 2544 最短路 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...

随机推荐

  1. UVA_埃及分数(Hard Version) UVA 12588

    Problem EEg[y]ptian Fractions (HARD version)Given a fraction a/b, write it as a sum of different Egy ...

  2. (step6.1.3)hdu 1875(畅通工程再续——最小生成树)

    题目大意:本题是中文题,可以直接在OJ上看 解题思路:最小生成树 1)本题的关键在于把二维的点转化成一维的点 for (i = 0; i < n; ++i) { scanf("%d%d ...

  3. Volist标签 key值的使用

    Volist标签是thinkphp框架view中常用到的一个标签.主要用于在模板中循环输出数据集或者多维数组.今天使用key属性时出了点问题,记录一下. volist标签(循环输出数据) 闭合 非闭合 ...

  4. 委托、Lambda表达式

    本文来自:http://wenku.baidu.com/link?url=o9Xacr4tYocCPhivayRQXfIc9kOZeWBwPn2FZfeF19P4-8YX5CMXs74WB-Y8t0S ...

  5. 基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection)

    基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection) kezunhai@gmail.com http://blog.csdn.net/kezunhai 一幅 ...

  6. Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8303098 在前文中,我们分析了应用程序窗口连 ...

  7. CMD下用csc.exe编译.cs 代码

    用惯了VS来写C#代码,要是用记事本写会不会觉得很好玩,然后再CMD窗口下编译运行,当然写一些简单的Console代码还是可以这么玩玩的,如果你觉得打开VS太麻烦的话. 把后缀名改成.cs,test. ...

  8. java学习之部分笔记2

    1.变量 实例变量和局部变量 实例变量系统会自动初始化为0和null(string),局部变量必须设定初始值. 静态方法里只能引用静态变量 数据类型的自动转换! int—>long 2.构造方法 ...

  9. 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  10. web.xml中<load-on-start>n</load-on-satrt>作用

    如下面一段配置,我们再熟悉不过了: 我们注意到它里面包含了这段配置:<load-on-startup>1</load-on-startup>,那么这个配置有什么作用呢? 作用如 ...