Dijkstra。
/* 1601 */
#include <cstdio>
#include <cstring>
#include <cstdlib> #define INF 999999 char buf[];
int map[][];
bool visit[], valid[];
double val[];
int path[];
int n; void dijkstra() {
int i, j, k;
int min, v; memset(visit, false, sizeof(visit));
visit[] = true;
for (i=; i<; ++i)
path[i] = map[i][]; for (i=; i<; ++i) {
min = INF;
for (j=; j<; ++j) {
if (!visit[j] && path[j]<min) {
min = path[j];
v = j;
}
}
if (min == INF)
break;
visit[v] = true;
for (j=; j<; ++j) {
if (!visit[j] && path[j]>min+map[v][j]) {
path[j] = min + map[v][j];
}
}
}
} int main() {
int i, j, k, r;
double v, max;
char cmd[], line[]; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif while (scanf("%d",&n)!=EOF) {
for (i=; i<; ++i) {
for (j=; j<; ++j) {
map[i][j] = INF;
}
map[i][i] = ;
}
for (i=; i<n; ++i) {
scanf("%s %lf %s", cmd, &v, line);
j = cmd[] - 'A';
val[j] = v;
for (r=; line[r]; ++r) {
if (line[r] == '*')
k = ;
else
k = line[r] - 'A';
map[j][k] = map[k][j] = ;
}
}
dijkstra();
max = -;
v = ;
for (i=; i<; ++i) {
if (path[i] >= INF)
continue;
if (path[i] > ) {
j = path[i]-;
while (j--) {
val[i] *= 0.95;
}
}
if (val[i] > max) {
max = val[i];
v = i;
}
}
printf("Import from %c\n", (char)v+'A');
} return ;
}
【HDOJ】1601 Galactic Import的更多相关文章
-
【12】link与@import的区别
[12]link与@import的区别 link是HTML方式, @import是CSS方式 link最大限度支持并行下载,@import过多嵌套导致串行下载,出现FOUC link可以通过rel=& ...
-
【BZOJ】1601: [Usaco2008 Oct]灌水
[算法]最小生成树 [题解] 想到网络流,但是好像不能处理流量和费用的关系. 想到最短路,但好像不能处理重复选边的问题. 每条边只需要选一次,每个点就要遍历到,可以想到最小生成树. 建超级源向每个点连 ...
-
【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
-
【HDOJ】5632 Rikka with Array
1. 题目描述$A[i]$表示二级制表示的$i$的数字之和.求$1 \le i < j \le n$并且$A[i]>A[j]$的$(i,j)$的总对数. 2. 基本思路$n \le 10^ ...
-
【HDOJ】4579 Random Walk
1. 题目描述一个人沿着一条长度为n个链行走,给出了每秒钟由i到j的概率($i,j \in [1,n]$).求从1开始走到n个时间的期望. 2. 基本思路显然是个DP.公式推导也相当容易.不妨设$dp ...
-
【HDOJ】4418 Time travel
1. 题目描述K沿着$0,1,2,\cdots,n-1,n-2,n-3,\cdots,1,$的循环节不断地访问$[0, n-1]$个时光结点.某时刻,时光机故障,这导致K必须持续访问时间结点.故障发生 ...
-
【HDOJ】4305 Lightning
1. 题目描述当一个结点lightning后,可以向其周围距离小于等于R的结点传播lightning.然后以该结点为中心继续传播.以此类推,问最终形成的树形结构有多少个. 2. 基本思路生成树级数模板 ...
-
【HDOJ】4373 Mysterious For
1. 题目描述有两种不同类型的循环,并给出一个由1.2组成的序列,表示嵌套的循环类型.问这样组着的循环一共需要多少次循环?并将结果模364875103. 2.基本思路显然,每当遇到一个类型1的序列,即 ...
-
【HDOJ】1667 The Rotation Game
1. 题目描述有个#字型的条带,可以从横线或竖线进行循环移动,求通过各种移动最终使中心的8个字符全等的长度最短并相同长度字典序最小的操作序列.2. 基本思路24个数据,8种移动方式,数据量很小了,所以 ...
随机推荐
-
Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...
-
【技术贴】解决使用maven jetty启动后无法加载修改过后的静态资源
如何使用jetty自动热部署修改后的所有文件,比如js,jpg,class等,哇咔咔 太爽啦比tomcat舒服多了. jetty模式是不能修改js文件的,比如你现在调试前端js,发现在myeclips ...
-
Libev学习笔记2
这一节根据官方文档给出的简单示例,深入代码内部,了解其实现机制.示例代码如下: int main (void) { struct ev_loop *loop = EV_DEFAULT; ev_io_i ...
-
POI一(介绍)
POI(介绍) 玩j2e项目,在实际开发中经常会用到导入和导出功能,一般使用的都是excel.在这里整理一下有关POI的知识,本篇博客先做一个POI的介绍. 什么是Apache POI? Apache ...
-
UVa230 Borrowers
原题链接 UVa230 思路 这题输入时有一些字符串处理操作,可以利用string的substr()函数和find_last_of()函数更加方便,处理时不必更要把书名和作者对应下来,注意到原题书名的 ...
-
金融量化分析【day112】:因子选股
一.因子选股基础 二.因子选股策略实现代码 # 导入函数库 import jqdata import psutil #初始化函数,设定基准等等 def initialize(context): set ...
-
$Django python中使用redis, django中使用(封装了),redis开启事务(管道)
一 Python操作Redis之普通连接 #先安装 pip3 install redis import redis r = redis.Redis(host='127.0.0.1', port=637 ...
-
jQuery示例
<!DOCTYPE html><html lang="en" class="loading"><head> <meta ...
-
[转帖]linux 内存管理——内核的shmall 和shmmax 参数
(转)linux 内存管理——内核的shmall 和shmmax 参数 内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个 ...
-
MYSQL常用函数(控制流函数)
MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台. MySQL控制流函数: CASE WHEN[test1] THEN [r ...