POJ 2728 Desert King
来源:互联网 发布:剪辑录音软件 编辑:程序博客网 时间:2024/05/22 12:30
大意不再赘述。
思路:0\1分数规划,最优比率生成树,注意输出要用.3f,不然WA。
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <algorithm>using namespace std;const int MAXN = 1010;const int MAXM = 5010;const int INF = 0x3f3f3f3f;const double eps = 1e-4;struct node{double x, y;double h;}a[MAXN];double w[MAXN][MAXN];double d[MAXN];int n, m;void init(){memset(w, INF, sizeof(w));}double dist(const node &a, const node &b){return sqrt(pow(a.x-b.x, 2.0) + pow(a.y-b.y, 2.0));}double Prim(int src){bool vis[MAXN] = {0};for(int i = 1; i <= n; i++) d[i] = (i == src)? 0:INF;double cnt = 0;for(int i = 1; i <= n; i++){int x;double m = INF;for(int y = 1; y <= n; y++) if(!vis[y] && m > d[y]) m = d[x=y];vis[x] = 1;cnt += m;for(int y = 1; y <= n; y++) d[y] = min(d[y], w[x][y]);}return cnt;}int read_case(){scanf("%d", &n);if(!n) return 0;for(int i = 1; i <= n; i++){scanf("%lf%lf%lf", &a[i].x, &a[i].y, &a[i].h);}return 1;}void build(double mid){init();for(int i = 1; i <= n; i++){for(int j = i+1; j <= n; j++){w[i][j] = w[j][i] = fabs(a[i].h-a[j].h) - mid * dist(a[i], a[j]); }}}void solve(){double x = 0, y = 100;while(y-x > eps){double mid = x+(y-x)/2.0;build(mid);double ans = Prim(1);if(ans > 0) x = mid;else y = mid;}printf("%.3f\n", x);}int main(){while(read_case()){solve();}return 0;}
- POJ-2728-Desert King
- poj 2728 Desert King
- POJ-2728-Desert King
- poj 2728 Desert King
- POJ 2728 Desert King
- POJ 2728 Desert King
- [POJ 2728]Desert King
- 【POJ 2728】Desert King
- POJ 2728 Desert King
- POJ 2728 Desert King
- POJ 2728 Desert King
- POJ 2728Desert King
- POJ 2728 Desert King
- POJ 2728Desert King
- POJ 2728:Desert King
- POJ 2728 (Desert King)
- 【POJ 2728】[01分数规划]Desert King
- 【POJ】2728 Desert King 分数规划
- C#动态引用DLL的方法
- C#程序设计(三十)----画线实验
- Sublime Text 2快捷键大全
- 黑马程序员_JAVA_交通灯管理系统学习笔记
- IOS开发之----KVO的使用
- POJ 2728 Desert King
- 2012/11/25
- 第十三周任务——银行。
- POJ 3621 Sightseeing Cows
- hdu 1234 开门人和关门人(优先队列)
- OK6410 NFS环境不一定要Uboot1.1.6具有DM9000
- 求两数最大公约数
- 遍历--委托参数
- 计算机网络协议