点击打开链接

竟然是最短路!!!!

藏的好深啊

/*
求从路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. 【剑指offer】面试题25:二叉树中和为某一值的路径

    题目: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 思路: dfs一下就可以了.一般dfs肯定递归写比 ...

  2. Unity 制作RPG地图2(自己控制地图上图标)

    上一次用Unity摄像机方式实现了地图的制作,现在介绍另一种实现地图的方式: 自己通过代码实现小地图NCP图标的显示和隐藏 制作地图的步骤: 1. 根据游戏人物的3D坐标转换成2D平面坐标,根据距离显 ...

  3. 【技术文档】《算法设计与分析导论》R.C.T.Lee等·第5章 树搜索策略

    计算机中许多问题的解空间可以用一棵树来表示,最优解就在树中的一个分支上,因此,我们在解这类问题时可以采用树搜索策略,最经典的问题包括0/1背包问题.旅行商问题.哈密顿回路问题,还有8数码问题(就是我们 ...

  4. word 中巧妙添加分隔线

  5. 使用 Camtasia Recorder显示 “ camtasia an error occurred in the recorder: video codec open failed ”

    这是因为本机没有codec的缘故,可以下载一个:tscc解码器(TechSmith Screen Capture Codec) 2.0.3.0 安装版 http://www.cngr.cn/dir/2 ...

  6. iOS 使用NJKWebViewProgress做webview进度条

    NJKWebViewProgress地址:https://github.com/ninjinkun/NJKWebViewProgress 导入头文件 #import "NJKWebViewP ...

  7. java基础之 第一步 :jdk安装配置

    Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.ora ...

  8. oracle 序列

    查询序列值 select td_prodline_attr_seq.nextval from dual     查询用户建的所有序列 用户名 必须大写select SEQUENCE_OWNER,SEQ ...

  9. JQ----树杈型导航

    简单的做了一个树杈型的导航结构如下所示: 废话不多说,上代码: HTML: <div class="wrapper"> <div class="tabt ...

  10. listview滚动到底部

    方法一: // msgListView是ListView控件 // adapter是ListView绑定的Adapter,如果不方便直接使用,也可以通过ListView的getAdapter()方法获 ...