HDOJ 2066 floyed优化算法
一个人的旅行
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15657 Accepted Submission(s): 5350
#include<cstdio>
#include<cstring>
#define inf 0xffffff
int max_city;
int g[][];
void floyed(int n)
{
int i,j,k;
for(k=;k<=n;k++)
{
for(i=;i<=n;i++)
{
//if(g[i][k]!=inf)//优化floyed
for(j=;j<=n;j++)
{
if(g[i][k]+g[k][j]<g[i][j])
g[j][i]=g[i][j]=g[i][k]+g[k][j];
}
}
}
}
int main()
{
int t,s,d,i,j;
int st[],end;
while(scanf("%d %d %d",&t,&s,&d)!=EOF)
{
max_city=-;
for(i=;i<=;i++)
{
for(j=;j<=;j++)
g[i][j]=inf;
g[i][i]=;
}
int a,b,time;
for(i=;i<=t;i++)
{
scanf("%d %d %d",&a,&b,&time);
if(a>max_city)
max_city=a;
if(b>max_city)
max_city=b;
if(g[a][b]>time)
g[a][b]=g[b][a]=time; }
for(i=;i<=s;i++)
scanf("%d",&st[i]);
floyed(max_city);
int min=inf;
for(i=;i<=d;i++)
{
scanf("%d",&end);
for(j=;j<=s;j++)
if(g[st[j]][end]<min)
min=g[st[j]][end];
}
printf("%d\n",min);
}
return ;
}
优化后:
9891653 | 2013-12-25 17:27:21 | Accepted | 2066 | 187MS | 4152K | 992 B | G++ | 泽泽 |
#include<cstdio>
#include<cstring>
#define inf 0xffffff
int max_city;
int g[][];
void floyed(int n)
{
int i,j,k;
for(k=;k<=n;k++)
{
for(i=;i<=n;i++)
{
if(g[i][k]!=inf)//优化floyed
for(j=;j<=n;j++)
{
if(g[i][k]+g[k][j]<g[i][j])
g[j][i]=g[i][j]=g[i][k]+g[k][j];
}
}
}
}
int main()
{
int t,s,d,i,j;
int st[],end;
while(scanf("%d %d %d",&t,&s,&d)!=EOF)
{
max_city=-;
for(i=;i<=;i++)
{
for(j=;j<=;j++)
g[i][j]=inf;
g[i][i]=;
}
int a,b,time;
for(i=;i<=t;i++)
{
scanf("%d %d %d",&a,&b,&time);
if(a>max_city)
max_city=a;
if(b>max_city)
max_city=b;
if(g[a][b]>time)
g[a][b]=g[b][a]=time; }
for(i=;i<=s;i++)
scanf("%d",&st[i]);
floyed(max_city);
int min=inf;
for(i=;i<=d;i++)
{
scanf("%d",&end);
for(j=;j<=s;j++)
if(g[st[j]][end]<min)
min=g[st[j]][end];
}
printf("%d\n",min);
}
return ;
}
HDOJ 2066 floyed优化算法的更多相关文章
- [Algorithm] 群体智能优化算法之粒子群优化算法
同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...
- 基于网格的分割线优化算法(Level Set)
本文介绍一种网格分割线的优化算法,该方法能够找到网格上更精确.更光滑的分割位置,并且分割线能够自由地合并和分裂,下面介绍算法的具体原理和过程. 曲面上的曲线可以由水平集(level set)形式表示, ...
- paper 8:支持向量机系列五:Numerical Optimization —— 简要介绍求解求解 SVM 的数值优化算法。
作为支持向量机系列的基本篇的最后一篇文章,我在这里打算简单地介绍一下用于优化 dual 问题的 Sequential Minimal Optimization (SMO) 方法.确确实实只是简单介绍一 ...
- MOPSO 多目标例子群优化算法
近年来,基于启发式的多目标优化技术得到了很大的发展,研究表明该技术比经典方法更实用和高效.有代表性的多目标优化算法主要有NSGA.NSGA-II.SPEA.SPEA2.PAES和PESA等.粒子群优化 ...
- SMO优化算法(Sequential minimal optimization)
原文:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html SMO算法由Microsoft Research的John C. ...
- hdoj 2066 一个人的旅行 【多源多汇最短路】
题目:hdoj 2066 一个人的旅行 方法:缩点 + 最短路 分析:看了大神的一篇博客,讲冗余压缩的,然后就想找一个多源最短路练练手. 这个题目就是典型的多源多汇最短路 方法:把全部的源点压缩成一个 ...
- 优化算法-BFGS
优化算法-BFGS BGFS是一种准牛顿算法, 所谓的"准"是指牛顿算法会使用Hessian矩阵来进行优化, 但是直接计算Hessian矩阵比较麻烦, 所以很多算法会使用近似的He ...
- NYOJ-63 小猴子下落(二叉树及优化算法详解)
小猴子下落 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同.所有结点从左到右从上到下的编号为1,2,3,··· ...
- DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--Week2优化算法
1. Mini-batch梯度下降法 介绍 假设我们的数据量非常多,达到了500万以上,那么此时如果按照传统的梯度下降算法,那么训练模型所花费的时间将非常巨大,所以我们对数据做如下处理: 如图所示,我 ...
随机推荐
- 第四十课:CSS3 transition详解
W3C中对transition是这样描述的:允许css的属性值在一定的时间内平滑的过渡,也就是说,以动画的效果改变css的属性值. transition主要包含4个属性值:transition-pro ...
- 视频播放实时记录日志并生成XML文件
需求描述: 在JWPlayer视频播放过程中,要求实时记录视频观看者播放.暂停的时间,并记录从暂停到下一次播放时所经过的时间.将所有记录保存为XML文件,以方便数据库的后续使用. 实现过程: 尝试1: ...
- tomcat 的安装
安装tomcat的前提: 首先要做的是有java环境,这里我们可以选择安装jre(java环境包).或者说安装java开发工具包ldk 我这里选择安装jdk 我们在google里搜索jdk,你就能都找 ...
- Java 使用正则表达式
用正则表达式来处理掉内容中的特定字符,下面的代码为,去掉P标签中的属性width 设置.将P标签处理后在拼接成字符串 /** * 给 P 标签去掉width 样式设置 * @param content ...
- Java基础-内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来说包括这四种:成员内部类.局部内部类.匿名内部类和静态内部类. 下面就先来了解一下这四种内部类 ...
- POJ1067 取石子游戏
Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...
- JDBC中prepareStatement 和Statement 的区别
package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...
- hihocoder 1181 欧拉路.二
传送门:欧拉路·二 #1181 : 欧拉路·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回中小Hi和小Ho控制着主角收集了分散在各个木桥上的道具,这些道具其 ...
- stl 迭代器(了解)
STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的. 对应于它们所支持的操作,共有五种 iterators ...
- pthread_cancel
#include <pthread.h> #include <stdio.h> #include<stdlib.h> #include <unistd.h&g ...