SOLDIERS(POJ 1723)
这个题和算法书上的2.22题类似,因此y轴只要求出中位数,然后所有的点都要移动到中位数。
x轴的情况有点不同, 想了好久终于想明白了。
首先将x升序排序(因为最终的相对位置是不变的),然后设首个元素的基准点为P,则|x[0] - (p+0)| + |x[1] - (p+1)| + |x[2] - (p+2)| + ... + |x[n-1] - (p+n-1)| = |x[0]-0-P| + |x[1]-1-P| + |x[2]-2-P| +...+|x[n-1]-(n-1)-P|,设z[i] = x[i] - i; 这时候就和y类似了, 只要对z数组升序排序,然后找到中位数,再计算就可以了。
ac的代码:
1 // 2 // main.cpp 3 // tests 4 // 5 // Created by zanglei on 13-9-29. 6 // Copyright (c) 2013年 zanglei. All rights reserved. 7 // 8 9 #include <iostream> 10 #include <cstdio> 11 #include <cstdlib> 12 #include <string> 13 #include <vector> 14 #include <cassert> 15 #include <cmath> 16 #include <algorithm> 17 using namespace std; 18 19 #define MAX 10100 20 21 int x[MAX], y[MAX]; 22 23 int main(int argc, const char * argv[]) 24 { 25 int n; 26 cin >> n; 27 for (int i = 0; i < n; i++) 28 cin >> x[i] >> y[i]; 29 30 int result = 0; 31 sort(y, y + n); 32 int mid = y[n / 2]; 33 34 for (int i = 0; i < n; i++) 35 result += abs(y[i] - mid); 36 37 sort(x, x + n); 38 39 for (int i = 0; i < n; i++) 40 x[i] -= i; 41 42 sort(x, x + n); 43 mid = x[n / 2]; 44 45 for (int i = 0; i < n; i++) 46 result += abs(x[i] - mid); 47 48 cout << result << endl; 49 return 0; 50 }
转载于:https://www.cnblogs.com/leiatpku/p/3351448.html
SOLDIERS(POJ 1723)相关推荐
- Bailian2734 十进制到八进制【入门】(POJ NOI0113-45)
问题链接:POJ NOI0113-45十进制到八进制 2734:十进制到八进制 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个十进制正整数转化成八进制. 输入 一行,仅含一个十进 ...
- Bailian2676 整数的个数【入门】(POJ NOI0105-11)
问题链接:POJ NOI0105-11 整数的个数 2676:整数的个数 总时间限制: 1000ms 内存限制: 65536kB 描述 给定k(1 < k < 100)个正整数,其中每个数 ...
- Bailian4029 数字反转【进制】(POJ NOI0105-29)
问题链接:POJ NOI0105-29 数字反转 4029:数字反转 总时间限制: 1000ms 内存限制: 65535kB 描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数 ...
- Bailian2735 八进制到十进制【入门】(POJ NOI0113-46)
问题链接:POJ NOI0113-46 八进制到十进制 2735:八进制到十进制 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个八进制正整数转化成十进制. 输入 一行,仅含一个八 ...
- Silver Cow Party (POJ - 3268 )
Silver Cow Party (POJ - 3268 ) 这道题是我做的最短路专题里的一道题,但我还没做这个,结果比赛就出了,真是.......... 题目: One cow from each ...
- 吴昊品游戏核心算法 Round 7 —— 熄灯游戏AI(有人性的Brute Force)(POJ 2811)
暴力分为两种,一种属于毫无人性的暴力,一种属于有人性 的暴力.前面一种就不说了,对于后面一种情况,我们可以只对其中的部分问题进行枚举,而通过这些子问题而推导到整个的问题中.我称之为有人性的Brute ...
- 【二分】Best Cow Fences(poj 2018)
Best Cow Fences poj 2018 题目大意: 给出一个正整数数列,要你求平均数最大,长度不小于M的字串,结果乘1000取整 输入样例 10 6 6 4 2 10 3 8 5 9 4 1 ...
- 昂贵的聘礼(poj 1062)
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...
- 主席树学习小结(POJ 2104)
在高中的时候就听到过主席树了,感觉非常高端,在寒假的时候 winter homework中有一题是查找区间第K大的树,当时就开始百度这种网上的博客,发现主席树看不懂,因为那个root[i],还有tx[ ...
最新文章
- 脑细胞膜等效神经网路
- 经典shell面试题整理
- 《Flink官方文档》示例总览
- (JavaWeb)会话跟踪技术Cookie和Session(重点)
- SAP CRM销售订单创建时text determination的调试细节
- linux网络编程函数——地址复用setsockopt()
- ssm整合 报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):xxx
- python实现杨辉三角形博客园_Python实现杨辉三角
- python字符串用法_笔记:python字符串的使用
- 第二十四章 异常和错误处理 1异常
- Perl文件处理示例——批量添加Copyright版权信息
- PHP执行耗时脚本实时输出内容
- Redis 中的事件驱动模型
- js检查名字手机号是否规范,js去除空格
- C语言简单连点器网课必备
- DFS+记忆化搜索 -- 简单练习
- python处理图片像素_Python 处理图片像素点的实例
- 部分软件可以正常打开,但图标无法正常显示
- ps3自建服务器,PS3新手图文教程之网络设置
- javaWeb文档预览之office转pdf(附详细代码)
热门文章
- OLAP与OLTP的区别?
- python opencv数字识别_基于模板匹配的手写数字识别(python+opencv)
- 霍尼韦尔公布2019年十大发明
- 不见液晶电视不上轿的新娘,新郎愤而转身娶旧爱
- python 圆括号和方括号一样吗_Python中用方括号和圆括号括起来的列表有什么区别?...
- mysql触发器教程
- 用老电脑和老U盘Diy硬件防火墙
- Rest-Assured完整的测试例子
- sqlserver主要的环境变量
- [pie+libc]national2021_pwny