uva 1388 - Graveyard(数论)

原创 2013年12月02日 18:56:44

题目链接:1388 - Graveyard


题目大意:在一个周长为10000的圆形水池旁有n个等距离的雕塑,现在要再添加m个雕塑,为了使得n + m个雕塑等距离,需要移动一些雕塑,问如何使得移动的总位移最小,输出最小值。


解题思路:可以将周长展成坐标来看,原来的n个雕塑在x[i] = i / n,而移动过后的位置应该在y[i] = i / (n + m),根据贪心的思想,x[i]肯定要移动到最近的y[j]上,问题就解决了,然后就讨论说会不会有两个雕像移动到同一个位置,大白书里给出了很好的反证法,假设有两个雕塑会移动到同一个位置上,0.5 和1.499999,他们计算过后都会移动到1的位置上去,但是n和m都是小于1000的,即使取得最大值,n + m = 2000, 而圆的周长为10000,所以每两个雕塑之间的距离最小为5。


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main () {
	int n, m;
	while (scanf("%d%d", &n, &m) == 2) {
		double ans = 0;

		for (int i = 1; i < n; i++) {
			double pos = (double) i / n * (n + m);
			ans += fabs( pos - floor(pos + 0.5) )/ (n + m);
		}
		printf("%.4lf\n", ans * 10000);
	}
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Uva 1388 Graveyard - 水题

题目描述:lrj厚白书第一章第四到例题 题目分析:如果插入点的个数是n的倍数,那么不需要移动这n个点。如果想要移动的距离最短,那么不难想象最多只需要要移动(n-1)个点。所以可以在这n个点中选取一个...
  • mr_zys
  • mr_zys
  • 2013年12月11日 22:36
  • 1005

UVa1388 - Graveyard

#include using namespace std; int main() { int n,m; while(scanf("%d%d",&n,&m)==2) { ...
  • a197p
  • a197p
  • 2015年10月15日 22:24
  • 223

uva - UVA 1388 - Graveyard (数学推理)

题意:有一个周长为10000的圆上等距分布着n个雕塑,现在又加入m个雕塑,位置随意,希望n+m个雕塑仍然均匀分布。这就要移动其中一些雕像,求移动的最小距离。 方法:仍然是刘大大的例题,假定某一个雕像不...

uva1388

题目大意: 在一个周长为10000的圆上等距离的分配雕塑的位置,现在要插入m个雕塑,求最短移动距离可以使得插入后的雕塑的位置仍然是等距离的。思路: 求出原来的距离d0,求出插入后的距离d1,利用...

uva1388(数学)

题意: 题目的意思就是在周长为10000的圆上,有n个雕像,等距离摆放着,现在要在加入m个雕塑,为了让这n+m个雕塑还是等距离摆放,要移动之前的n个雕塑,问移动距离和最小多少; 思路: 首先我们...

UVA 1388 - Graveyard (推理,参考系)

Programming contests became so popular in the year 2397 that the governor of New Earck -- the larges...

uva1388 Graveyard

题目来源:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_pro...

uva 1388 - Graveyard(贪心)

刘汝佳厚书P7 代码如下: int main() { #ifndef ONLINE_JUDGE freopen("in","r",stdin); freopen("ou...

例题1.4 墓地雕塑 UVa1388

1.题目描述:点击打开链接 2.解题思路:本题的解法颇为巧妙,应用了逆向思维。假设最后这n+m个雕塑已经摆放好,不妨将它们两两之间的距离看做单位1,那么计算之前的位置坐标。这里都以其中一个为圆周上的...

uva 1388 - Graveyard(思维)

Programming contests became so popular in the year 2397 that the governor of New Earck -- the larges...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uva 1388 - Graveyard(数论)
举报原因:
原因补充:

(最多只允许输入30个字)