hdu 2851(最短路)
竟然是最短路!!!!
藏的好深啊
/*
求从路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(最短路)的更多相关文章
- HDU 2851 (最短路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2851 题目大意:给出N条路径,M个终点(是路径的编号) .重合的路径才算连通的,且路径是单向的.每条路 ...
- ACM: HDU 2544 最短路-Dijkstra算法
HDU 2544最短路 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 5521 最短路
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- HDU - 2544最短路 (dijkstra算法)
HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...
- hdu - 2851 Lode Runner (最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=2851 首先有n层,每层的路径都有一个起点和终点和对应的危险值,如果某两层之间有交集,就能从这一层上到另外一层,不 ...
- HDU2112 HDU Today 最短路+字符串哈希
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- hdu 2544 最短路
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...
- hdu 2544 最短路 Dijkstra
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...
随机推荐
- TI芯片android环境搭建和编译
1>. Reading package lists... Done Building dependency tree Reading state information... Do ...
- IOS开发之---触摸和手势
Touch:在与设备的多点触摸屏交互时生成. 响应者对象 响应者对象就是可以响应事件并对事件作出处理.在iOS中,存在UIResponder类,它定义了响应者对象的所有方法.UIApplication ...
- 《Qt编程的艺术》——5.1 手动布局
在传统的GUI设计中,每个控件(Widget)都要手动地绑定在窗口之上的一个点上(也就是说,这个控件被指定成了给定GUI元素的父对象),同时还要指定这个控件的高度和宽度.作为所有图形元素的基础类,QW ...
- mysql的常用操作的封装
1.概述: 为了把繁琐的操作简化成简单的类,设计了2个类用来封装了mysql的常用操作,以便使用者可以方便地使用. 2.组成 1)数据库操作类CDatabaseConnect 2)SQL对象类CSql ...
- 【剑指offer】Q40:数组中出现一次的数
书里面关于分类的推断有些麻烦,通过某一位为0为1来对数组元素进行分类.假如第3位为1.那么也就是元素x & 8 等于或不等于0,所以不是必需非的用第几位去推断. def once(array) ...
- android stagefright基本流程总结
数据流的封装一. 由数据源DataSource生成MediaExtractor. 通过MediaExtractor::Create(dataSource)来实现.Create方法通过两步来生成相应的M ...
- 微信SDK导入报错 Undefined symbols for architecture i386:"operator delete[](void*)", referenced from:
异常信息: Undefined symbols for architecture i386: "operator delete[](void*)", referenced fro ...
- .NET c# 串口通信
这段时间做了一个和硬件设备通信的小项目,涉及到扫描头.输送线.称重机.贴标机等硬件.和各设备之间通信使用的是串口或网络(Socket)的方式.扫描头和贴标机使用的网络通信,输送线和称重机使用的是串口通 ...
- C学习-fgets()篇1
学习fgets()函数时发现了一个问题,先贴代码 #include<stdio.h> #include<string.h> #include<ctype.h> vo ...
- JDBC之一:JDBC快速入门
(1)下载Oracle的JDBC驱动,一般放在$ORACLE_HOME/jdbc/lib目录,关于驱动的版本请见: http://elf8848.iteye.com/blog/811037 随Orac ...