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 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...
随机推荐
- eclipse中如何创建maven项目
1.在eclipse中,file-->new-->maven project,勾选Create a simple project,点击next. 2.添加项目信息,点击finish.(pa ...
- Hibernate框架(一)——总体介绍
作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的 ...
- android实现透明和半透明效果
从透明到半透明时一个值的变化过程. #00000000(全透明)——#e0000000(半透明) 如果觉得半透明的效果太暗淡.可以设置成#60000000,#80000000,#a0000000等等
- Best Time to Buy and Sell Stock (java)
有一组数组代表股票的价格 一次买一次卖如何得到最大利润? public int maxProfit(int[] prices) { if(prices.length==0)return 0; int ...
- autoresizing代码实现
主要解决父子控件之间的布局关系: /* Flexible 灵活的,自由的 typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) ...
- 时间的获取和转换,C#和Sql
我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...
- Java-----instanceof、isInstance、isAssignableFrom
转载自:http://blog.csdn.net/hekewangzi/article/details/51956170
- javascript中base64和Gzip的使用
一般的使用流程(4步): 服务器端将字符串Gzip压缩为 字节数组——>通过base64转为字符串(后传递到客户端)——>解码base64字符串为字节数组——>Gzip解码字节数组为 ...
- jquery-练习-折叠效果
<!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"> <head> < ...
- svg 文字
<text>标签 在svg中用使用<text>标签去定义一段文字.如 Example 1 在svg中写下 在平坦的路上曲折前行 Example 1 Dome <svg h ...