UVA 10041 Vito's Family
UVA_10041
这个题目是一个贪心的题目。
如果设按升序排列的si的数组为s[],那么Vito的位置一定为s[(r-1)/2]。对于这一点,我们分两种情况进行讨论:
①如果si的数量为奇数,那么Vito的位置一定取数组s[]中间的那个值s[(r-1)/2]。因为如果周围的值和s[(r-1)/2]相同的话,Vito的位置左右移动不会产生影响,但如果周围的某个值s[i]不和s[(r-1)/2]相同,倘若Vito的位置移到了这个值上面,可以计算得出,总距离至少增加了abs(s[i]-s[(r-1)/2])(如果s[i]不和s[(r-1)/2]紧邻的话,会增加的更多)。
②如果si的数量为偶数,那么Vito的位置可以是[ s[(r-1)/2] , s[(r-1)/2+1] ]这个闭区间中的任意一个值。这点我们同样可以用反证法进行证明。
之后便只需要将所有的距离加起来即可。
#include<stdio.h>#include<string.h>#include<stdlib.h>int s[510];int cmp(const void *_p,const void *_q){int *p=(int *)_p;int *q=(int *)_q;return *p-*q;}int main(){int i,j,k,t,r,sum; scanf("%d",&t);while(t--) { scanf("%d",&r);for(i=0;i<r;i++) scanf("%d",&s[i]); qsort(s,r,sizeof(s[0]),cmp); k=s[(r-1)/2]; sum=0;for(i=0;i<r;i++) sum+=abs(s[i]-k); printf("%d\n",sum); }return 0; }
转载于:https://www.cnblogs.com/staginner/archive/2011/09/21/2184510.html
UVA 10041 Vito's Family相关推荐
- UVa 10041 - Vito's Family
[链接] http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&p ...
- UVA - 10041 Vito's Family
题目大意:给出所有邻居的位置,要求找到一个位置,使得该位置到所有邻居家的总和最小 解题思路:单纯的找中位数,先排序, 然后将数组遍历一遍求的最小值 #include <cstdio> #i ...
- UVa Problem 10041 Vito’s Family (Vito 家族)
// Vito's Family (Vito 家族) // PC/UVa IDs: 110401/10041, Popularity: A, Success rate: high Level: 1 / ...
- π-Algorithmist分类题目(1)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...
- sicily题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
- [sicily]部分题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
- Sicily 题目分类
依照自己水平挑着做→ →~~ 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 ...
- 编程题目分类(剪辑)
1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代 ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
最新文章
- MySQL8常见客户端和启动相关参数
- 四天人工智能 python入门体验课_百度深度学习7天打卡营,用Python+AI识别“青你2”小姐姐的高颜值...
- centos 安装低版本内核_Docker安装教程
- 寻找先序遍历中第k个节点
- mysql数据库安全配置规范_MySQL数据库安全配置
- jbpm知识点——state
- Linux系统中使用netcat命令的奇技淫巧
- 证明一个距离空间是完备的
- 分号在各种编程语言中的作用
- 关于骨骼(Skeleton)、绑定(Rigging)、蒙皮(Skinning)、刷权重(Weight Painting)那些事儿(9月3日 更新)
- [转载]dilated conv带孔卷积、pooling层提高感受野 反卷积 的理解
- 箱形图(python画图)
- Python学习笔记-北京图灵学院-变量-20200528
- 关于图片转base64的加密解密
- 阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星31K+
- 高手如何做全网整合营销推广?全网营销方法和策略有哪些?
- cherry Tree的严重漏洞
- IOS仿支付宝首页滑动效果
- 什么样的知识付费系统功能,更有利于平台与讲师发展?
- 浅谈 MySQL 连表查询
热门文章
- 区块链c端应用小程序_区块链如何真正起作用? 我建立了一个应用程序向您展示。...
- javascript_治愈JavaScript疲劳的研究计划
- PC端微信小程序wxapkg解密
- Spring Cloud应用开发(一:使用Eureka注册服务)
- html5图片灰度显示,HTML5 组件Canvas实现图像灰度化
- 线程组多次调用_详细分析 Java 中启动线程的正确和错误方式
- 1143 Lowest Common Ancestor(建树与不建两种思路)
- 软件测试培训分享:做软件测试需要掌握数据库的知识吗?
- 参加Python培训后能干嘛
- ThreadLocal的使用方法