问题 H: 小k的简单问题

时间限制: 1 Sec  内存限制: 128 MB
提交: 107  解决: 57
[提交] [状态] [命题人:jsu_admin]

题目描述

地图上有n个村庄,小k每个月需要往每个村庄运送数量不等的粮食,运送粮食到任意一个村庄需要消耗的费用为距离的平方乘以粮食的重量,现在小k打算在地图上建立粮食基地,请问将基地建在哪个地方才能让小k每个月消耗的费用最少?

输入

第一行包含一个整数 T,表示有 T组测试数据。
接下来依次描述 T 组测试数据。对于每组测试数据:
第一行为整数 n,表示有n个村庄。
接下来 n 行,每行三个整数x,y,v,前两整数个为村庄的坐标,后面一个整数为该村庄每个月需要的粮食重量。
0<T<20,0<n<20, -1000<=x,y<=1000,0<v<100

 

输出

小k建立粮食基地的坐标(保留两位小数)

样例输入 Copy

1
3
167 -100 44
78 262 21
-245 -27 1

样例输出 Copy

132.44 16.29

已知每个村庄的位置 xi,yi,以及需要运送的粮食重量 vi,设基地的位置在 x,y,那么小 k 运送粮食到任意一个村庄消耗的费用为(x-xi)*(x-xi)*vi+(y-yi)*(y-yi)*vi,由此可只 x 坐 标和 y 坐标可以分开来算,将所有消耗相加起来得到一个关于 x 的方程,a*x*x-b*x+c, 可转化为由此可得出当 x = b/(2*a)时消耗最小,同理可得出 y 坐标的值。

 #include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn = ;
int main(){
int t;
double a[maxn],b[maxn],c[maxn];
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
double z=,x=,v=;
for(int i = ;i <=n;i++)
{
scanf("%lf%lf%lf",&a[i],&b[i],&c[i]);
z += a[i]*c[i];
x += b[i]*c[i];
v += c[i];
}
sort(a+,a+n+);
sort(b+,b+n+);
// double l_1 = a[n],r_1 = a[1];
// double l_2 = b[n],r_2 = b[1];
// double sum = 0;
// for(int i = 0;i < n;i++)
// {
// sum = sqrt((a[1]-a[i])*(a[1]-a[i])+(b[1]-b[i])*(b[1]-b[i]));
// }
// for(int i = 0;i<100;i++)
// {
// mid_1 = (l_1+r_1) / 2;
// mid_2 = (l_2+r_2) / 2;
// for(int i = 0;i<n;i++)
// double mid = sqrt((mid_1-a[i])*(mid_1-a[i])+(mid_2-b[i])*(mid_2-b[i]))
// if(mid < sum)
// {
// sum = mid;
//
// }
// } printf("%.2f %.2f\n",z/v,x/v);
}
}
 

问题 H: 小k的简单问题的更多相关文章

  1. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧间宏块(Inter)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  2. [51nod1457]小K vs. 竹子

    小K的花园种着n颗竹子(竹子是一种茎部中空并且长得又高又快的热带植物).此时,花园中第i颗竹子的高度是hi米,并且在每天结束的时候它生长ai米. 实际上,小K十分讨厌这些竹子.他曾经试图去砍光它们,但 ...

  3. 【BZOJ3436】小K的农场(差分约束)

    [BZOJ3436]小K的农场(差分约束) 题面 由于BZOJ巨慢无比,使用洛谷美滋滋 题解 傻逼差分约束题, 您要是不知道什么是差分约束 您就可以按下\(Ctrl+W\)了 #include< ...

  4. 51 nod 1456 小K的技术(强连通 + 并查集)

    1456 小K的技术 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   苏塞克王国是世界上创新技术的领先国家,在王国中有n个城市 ...

  5. FFmpeg的H.264解码器源代码简单分析:环路滤波(Loop Filter)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  6. FFmpeg的H.264解码器源代码简单分析:熵解码(Entropy Decoding)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  7. FFmpeg的H.264解码器源代码简单分析:解析器(Parser)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  8. BZOJ_3436_小K的农场_差分约束

    BZOJ_3436_小K的农场_差分约束 题意: 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得 一些含糊的信息(共m个),以下列三种形式描述 ...

  9. NowCoder--牛客练习赛30 C_小K的疑惑

    题目链接 :牛客练习赛30 C_小K的疑惑 i j k 可以相同 而且 距离%2 只有 0 1两种情况 我们考虑 因为要 d(i j)=d(i k)=d(j k) 所以我们只能找 要么三个点 任意两个 ...

随机推荐

  1. python的setup.py文件

    最近工作需要,用Cython写了*.pyx扩展,并将其编译成C文件,最后转换为so扩展,供python引用使用 distutils 编译,建立一个setup.py 的脚本from distutils. ...

  2. 使用idea对XML的增删改查

    XML:是一种可扩展标记性的语言,与java语言无关,它可以自定义标签. 1.首先需要到导入Dom4j架包,与自己所时候的ide关联 2.编写自己的xml文件,入上图所示(里面的所有元素及元素中的属性 ...

  3. 【bzoj3566】 [SHOI2014]概率充电器

    *题目描述: 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器: “采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概率充电器,您生活不可 ...

  4. 20180912-Java实例02

    Java 实例 – 删除字符串中的一个字符 以下实例中我们通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中. // Main.j ...

  5. (转)GitHub中PR(Pull request)操作 - 请求合并代码

    转:https://www.jianshu.com/p/b365c743ec8d 前言 本文尽量使用图形工具介绍如何向开源项目提交 Pull Request,一次亲身经历提交 PR 1.fork 项目 ...

  6. MySQL高可用架构之MySQL5.7.19 PXC

    CentOS7.3下Percona-XtraDB-Cluster-5.7.19集群部署PXC三节点安装:node1:10.10.10.11 node2:10.10.10.12node3:10.10.1 ...

  7. CopyOnWriteArrayList 源码分析

    CopyOnWriteArrayList CopyOnWriteArrayList 能解决什么问题?什么时候使用 CopyOnWriteArrayList? 1)CopyOnWriteArrayLis ...

  8. KindEditor上传图片一直提示undefined

    图片已经上传成功了,但是就是不在文本编辑器里显示图片,一直弹出undefined 返回的JSON都对呀!这是官网说的返回值: //成功时 { "error" : 0, " ...

  9. 使用Chrome逆向分析JS实战---分析google网站翻译器原文存放位置

    剧透:就是使用了一下Chrome DevTools的Memory功能,通过已知的JS变量的值查找JS内存中变量的引用 一:不分析一下现有的网页翻译方法么? 总所周知,(As is well known ...

  10. day49—JavaScript阻止浏览器默认行为

    转行学开发,代码100天——2018-05-04 今天主要说明一下通过JavaScript对浏览器默认行为的阻止操作.比如右键菜单的行为. 阻止默认行为的语句为: return false; 例如,阻 ...