摘要: 题意: 在连续的 n 秒中,每秒会出现 m 个龙珠,出现之后会立即消失,知道了第一秒所在的位置,每从一个位置移动到另一个位置的时候,消耗的价值为 abs(i-j), 知道了次出现的龙珠的价值,问 n 秒之后得到的最大价值是多少。分析: 当 pos[i][j] >= pos[i-1][k] 时:dp[i][j]= min( dp[i-1][k] - pos[i-1][k] ) + pos[i][j] + w[i][j]; 当 pos[i][j] <= pos[i-1][k] 时:dp[i][j]= min( dp[i-1][k] + pos[i-1][k] ) - pos[i][j] 阅读全文
posted @ 2012-10-12 20:05 'wind 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 题意: 有 n 个城市,知道了起点和终点,有 m 条有向边,问从起点到终点的最短路一共有多少条。分析: 求最短路的条数可以用最大流,不过要是去掉原图中不在最短路上的边, 判断某条边是不是最短路上的边的时候,如果满足 d1[from] +d2[to]+ edge[i].w =dis[en] 则可以说明该边是最短路上的边,其中 d1[] 为各点到起点的最短距离,d2[] 为各点到终点的最短距离#include<stdio.h>#include<string.h>#include<stdlib.h>#include<climits>#include&l 阅读全文
posted @ 2012-10-12 19:10 'wind 阅读(972) 评论(0) 推荐(1) 编辑