欢迎投稿

今日深度:

uva662,

uva662,


题目:uva662 - Fast Food(递推)


题目大意:要求在同一条路上的N家快餐店,新建K个补助站点,每个快餐店和它的补助站点的距离之和最小。并且输出路径。


解题思路:这题之前想了很久,但是却漏掉最重要的一点:一条路上【1,N】快餐店,建一个补助站的话,建在中间是最优的。那么对于一个补助站是这样的,对于两个补助站的话,就看这两个补助站提供补助的范围了。dp【k】【j】表示在前j家快餐店建了k个补助站最小的补助距离。dp【k】【j】 = Min (dp【k - 1】【i】 + s【i + 1】【j】)  (I>= k - 1 && i < j)  先预处理 s[i][j] ,表示i到j建个补助站最小的补助距离。

注意输出格式。restaurant(s)。


代码:

#include <cstdio>
#include <cstring>
#include <cstdlib>

typedef long long ll;
const int N = 205;
const int M = 35;
const ll INF = 1e13;

int n, m;
int d[N];
ll dis[N][N];
ll f[M][N];
int path[M][N][2];

void init () {

	int mid;
	for (int i = 1; i <= n; i++)
		for (int j = i; j <= n; j++) {
			dis[i][j] = 0;
			mid = (j + i) / 2;
			for (int k = i; k <= j; k++) 	
				dis[i][j] += labs (d[k] - d[mid]);
		}
}

void printf_ans (int k, int j) {

			if (!k)
				return;
			printf_ans (k - 1, path[k][j][1] - 1);
			if (path[k][j][1] != j)
				printf("Depot %d at restaurant %d serves restaurants %d to %d\n", k, path[k][j][0], path[k][j][1], j);
			else
				printf("Depot %d at restaurant %d serves restaurant %d\n", k, path[k][j][0], j);
				
}

int main () {

	int cas = 0;
	while (scanf ("%d%d", &n, &m) , n || m) {

		for (int i = 1; i <= n; i++)
			scanf ("%d", &d[i]);

		init ();	

		for (int i = 1; i <= n; i++) {

			f[1][i] = dis[1][i];
			path[1][i][0] = (1 + i) / 2;
			path[1][i][1] = 1; 
		}

		for (int k = 2; k <= m; k++)
			for (int j = k; j <= n; j++) {

				f[k][j] = INF;
				for (int i = j - 1; i >= k - 1; i--) {
					
					if (f[k - 1][i] + dis[i + 1][j] < f[k][j]) {
					
						f[k][j] = f[k - 1][i] + dis[i + 1][j];
						path[k][j][0] = (i + j + 1) / 2;
						path[k][j][1] = i + 1;
					}
				}
			}

		printf ("Chain %d\n", ++cas);
		printf_ans (m, n);
		printf ("Total distance sum = %lld\n\n", f[m][n]);
	}
	return 0;
}




我是敏感性皮肤夏天怎保护

嗯,我也是。用化妆品要很小心,首先要搞清楚你的肤质,干性?油性?混合性?然后选择适合你肤质的温和产品,敏感性的皮肤最好用无酒精的护肤品。温和少刺激的。像集佰草,家美乐,相一本草的就很好。化妆品的话就要用粉质细的,个人认为资生堂以及旗下产品很好,适合亚洲人。比如悠莱。价格也不贵。
 

戴什隐形眼镜好?我戴半年的

前段时间我好像听说了,以后部分相关的隐形眼液将停止销售,原因里边有些成分长时间使用会对眼睛有损,这就是为什么阶段性眼睛会不舒服了,

还有如果你选择佩戴的时候,一定要记得先试用!带几天如果感觉不适一定要换!

目前我还是认为博士论的不错~不过还是建议搂住,坚持滴眼药水,首先药水不会腐蚀镜片,当然了不是说你带着滴哈~~就是在你摘下来以后,一定要滴!楼上朋友说的,戴时间长了加深度数,实际上是由于长时间佩戴镜片,眼睛很干燥,间接性磨损眼模。建议,别整天带,我有一个朋友,早上带,一天当中至少清晰2-3次,2年了眼睛只是增长了100多度(别忘了他基本天天看着电脑啊~)这样对眼睛还是镜片都有好处!!~呵呵,楼主可以借鉴一下哦~~呵呵
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2738.html NewsArticle uva662, 题目:uva662 - Fast Food(递推) 题目大意:要求在同一条路上的N家快餐店,新建K个补助站点,每个快餐店和它的补助站点的距离之和最小。并且输出路径。 解题思路:这题之前...
相关文章
    暂无相关文章
评论暂时关闭