点击打开链接uva 10041

题目意思:

有一个人住在纽约,现在他有r个亲戚,这个人经常会去所有的亲戚家,现在他想找到一个房子,使得每一次他去访问所有的亲戚时候走的路是最短的,输出这个最小值

解题思路:

1:思路:中位数+暴力
2:分析:假设值为这个人住的街道为x,那么根据公式有距离和为(abs(x-s[0])+abs(x-s[1])+......abs(s-s[r-1])) = abs(r*x-sum),sum 为s[0]+s[1]+......s[r-1]的和。所以要使得这个值最小,那么x就是这个序列的中位数,所以只要找到中位数,就可以求出这个最小值
3:注意最后的ans用longlong数据类型,不然可能会越界

代码:


#include <algorithm>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
#define MAXN 510int t , r;
int s[MAXN];
long long ans;void solve(){int mid;sort(s , s+r);if(!r%2) mid = (s[r/2]+s[r/2-1])/2;else mid = s[r/2]; ans = 0;for(int i = 0 ; i < r ; i++)ans += abs(s[i]-mid);printf("%lld\n" , ans);
}int main() {//freopen("input.txt" , "r" , stdin);scanf("%d%*c" , &t);while(t--){scanf("%d" , &r);for(int i = 0 ;  i < r ; i++)scanf("%d" , &s[i]);solve();}return 0;
}

uva 10041 - Vito's Family相关推荐

  1. UVa 10041 - Vito's Family

    [链接] http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&p ...

  2. UVA 10041 Vito's Family

    UVA_10041 这个题目是一个贪心的题目. 如果设按升序排列的si的数组为s[],那么Vito的位置一定为s[(r-1)/2].对于这一点,我们分两种情况进行讨论: ①如果si的数量为奇数,那么V ...

  3. UVA - 10041 Vito's Family

    题目大意:给出所有邻居的位置,要求找到一个位置,使得该位置到所有邻居家的总和最小 解题思路:单纯的找中位数,先排序, 然后将数组遍历一遍求的最小值 #include <cstdio> #i ...

  4. UVa Problem 10041 Vito’s Family (Vito 家族)

    // Vito's Family (Vito 家族) // PC/UVa IDs: 110401/10041, Popularity: A, Success rate: high Level: 1 / ...

  5. π-Algorithmist分类题目(1)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...

  6. sicily题目分类

    sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...

  7. [sicily]部分题目分类

    sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...

  8. Sicily 题目分类

    依照自己水平挑着做→ →~~ 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 ...

  9. 编程题目分类(剪辑)

    1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代 ...

  10. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

最新文章

  1. Python程序设计 第六章 函数(续
  2. esp32 python-ESP32及其开发板介绍
  3. mysql全表扫描和用索引的区别
  4. [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
  5. python面试常见题目
  6. bzoj 1232: [Usaco2008Nov]安慰奶牛cheer【最小生成树】
  7. Android char数据类型乱码��解决方法
  8. 循环小数与费马小定理
  9. Integral Channel Features-论文整理
  10. java自定义tag,tag文件与tag标记,java自定义标签
  11. JavaScript 图片切割效果(带拖放、缩放效果)
  12. SpringBoot启动时 提示没有主清单属性 MANIFEST
  13. Netty in action—ChannelHandler和ChannelPipeline
  14. echarts formatter_Angular 集成 Typescript 版本 Echarts (附代码)
  15. Microsoft DirectX 8 开发人员常见问题
  16. php wps 读取word内容,PHP中读取,写入和导出WORD文档的代码总结
  17. java集合练习题_「集合练习题」Java集合框架篇-58-集合框架的几个练习题 - seo实验室...
  18. 获得一个字符串的汉语拼音码
  19. 2021最新C++面试题(附答案)
  20. 最新版CAD都有些啥功能(下)

热门文章

  1. Cobalt Strike 的 Profile 文件解析
  2. 横向瀑布流android,waterfall
  3. Flutter tween动画
  4. 【使用python+selenium实现12306的自动登录及购票】
  5. 中移物联网入门记录(1)
  6. 阿里云云计算ACP学习(八)---网络与VPC
  7. 树梅派应用38:树莓派 SAKS 扩展板挑战应用 之 PM2.5 指示灯
  8. 如何提高服务器网站访问速度,如何有效提升网站打开速度?
  9. 操作系统 设备基本概念和分类
  10. TestNG单元测试框架详解