# 总结
845分
我好菜啊qwq
第九题(站队)出了bug。。。
没有考虑到中位数会存在重叠错误问题(直接卡掉5个点就离谱)
后来发现其实第九题暴搜也能过。。。(要是IOI赛制就能ak了)
前面的水题不贴了
# 9.士兵站队
【问题描述】 在一个划分成网格的操场上,n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),...,(x+n-1,y)。如何选择x 和y的值才能使士兵们以最少的总移动步数排成一列。
【编程任务】 计算使所有士兵排成一行需要的最少移动步数。 【输入格式】 第1 行是士兵数n,1≤n≤10000。接下来n 行是士兵的初始位置,每行2 个整数x 和y,-10000≤x,y≤10000。 【输出格式】 第1 行中的数是士兵排成一行需要的最少移动步数。
【输入样例】
5
1 2
2 2
1 3
3 -2
3 3
【输出样例】  8coding:1.暴力AC(枚举最棒了)
#include<cstdio>/*纵向就是输油管问题,横向想不明白的话,就枚举找min吧。。**/
#include<cmath>
#include<algorithm>
#include<cstring>
#include<climits>
using namespace std;
int M=200000000;
int main(){int n;int x[10020],y[10020];int X,Y;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&x[i],&y[i]);}long long ans=0;sort(x+1,x+1+n);sort(y+1,y+1+n);Y=y[n/2+1];for(int i=1;i<=n;i++){ans += abs(Y-y[i]);}int mn=M,tot;for(X=x[1]-n/2;X<=x[n];X++){tot=0;for(int i=1;i<=n;i++){tot += abs(X+i-1-x[i]);}mn = min(mn,tot);}ans+=mn;printf("%lld",ans);return 0;
}2.正解(O(n))://转45度都是封建迷信。。。还是类似于输油管的投票思想
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<climits>
using namespace std;
int main(){int n;int x[10020],y[10020];int X,Y;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&x[i],&y[i]);}long long ans=0;sort(x+1,x+1+n);sort(y+1,y+1+n);for(int i=1;i<=n;i++){x[i] -= i-1;}sort(x+1,x+1+n);Y = y[(n+1)/2];X = x[(n+1)/2];for(int i=1;i<=n;i++){ans += abs(X-x[i]) + abs(Y-y[i]);}printf("%lld",ans);return 0;
}}

1.16 模拟(排序)相关推荐

  1. 2021.7.16模拟赛C组总结(转载XJY)

    2021.7.16模拟赛C组总结 这次比赛,题虽然不难,但丝毫不影响我打挂-唉- 0+100+50+0=150 题解 T1 题目描述: ​ 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小 ...

  2. 2022.07.16模拟赛总结

    7.16模拟赛总结 总述 题目详情 T1 取餐号 T2 堆人塔 T3 钦定IOI选手 20pts做法 100pts做法 T4 攻打恶魔之巅 水水版DP T5 抉择 暑假集训模拟赛Day1 总述 真想不 ...

  3. 程序员面试金典 - 面试题 16.16. 部分排序(排序/不排序)

    文章目录 1. 题目 2. 解题 2.1 排序 2.2 不排序 1. 题目 给定一个整数数组,编写一个函数,找出索引 m 和 n ,只要将索引区间 [m,n] 的元素排好序,整个数组就是有序的. 注意 ...

  4. PAT甲级1017 (模拟排序)

    课前分析 感觉和1016差不多, 就模拟一下几个队列, 有空位立即插入并计算等待时间, 没空位计算最早处理完的用户的离去时间,并更新为当前时间等等. (1) vector a(10); //定义了10 ...

  5. 1080 Graduate Admission (30 分)【难度: 一般 / 知识点: 模拟 排序】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805387268571136 先总的排序,再枚举每一个学生,对于每一个学生 ...

  6. 第四章:枚举 模拟 排序习题 【完结】

    基本熟练掌握. 目录 1210. 连号区间数 [枚举 ] 1236. 递增三元组 [枚举 / 前缀和 / hush定址法] 1245. 特别数的和 [简单] 1204. 错误票据 [简单] 466. ...

  7. 16 --删除排序数组中的重复项

    文章目录 1.问题描述 2.代码实现 1.问题描述 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...

  8. tarjan+拓扑序+差分--2018.10.16模拟赛T2

    题目: 阿天住的城市有 n 个政府部门,这些部门之间用了 m 条有向路径 连接了起来.有趣的是,每过一天这些路径都会变换方向,也就是说, 偶数的日子和奇数的日子的图是不同的. 阿天在社保局工作,可惜他 ...

  9. JZOJ 3.10 1542——跑步(树状数组+模拟+排序/归并排序)

    题目描述 FJ觉得赛马很无聊,于是决定调查将赛牛作为一种运动的可能性.他安排了N(1 <= N <= 100,000)头奶牛来进行一个L圈的赛牛比赛,比赛在一个环形的长度为C的跑道上进行. ...

最新文章

  1. 聊一聊今年实例分割领域的进展和未来展望
  2. MySQL入门篇(含数据库的备份)
  3. Dell poweredge r210进BIOS修改磁盘控制器(SATA Controller)接口模式
  4. android shape画边框,安卓用shape画圆角矩形边框
  5. python访问k8s的api_python过滤 Kubernetes api数据
  6. ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
  7. linux redis 简书,Linux | Redis
  8. python selenium 等待js加载完成_一个用python完成的RSA成功模拟JS加密完成自动登录...
  9. SharedMaterial的一些问题
  10. sci论文 计算机,计算机类SCI论文
  11. pi启动configtool
  12. 于佳宁担任BCF理事
  13. Frefox安装AeroFox皮肤插件后菜单字体的美化
  14. SQLServer中统计年,季,月,周,日平均值
  15. 抖音电影视频剪辑——电影版权问题
  16. ajax读取txt出现乱码问题,ajax读取txt文本时乱码的解决方案
  17. 关于0x3f3f3f3f(0x四个3f)
  18. 【UML之宏观了解】
  19. cuda编程思想和opencv_gpu图像处理
  20. 重大灵异事件!我的手机大半夜地自己在B站看番剧!!!

热门文章

  1. postgresql 分词_使用PostgreSQL进行中文全文检索
  2. devexpress 中的checkboxlist怎么设置间距_HTML中怎么设置h1的字体样式你知道吗?关于设置h1标签的样式详解
  3. linux expr格式,计算2-expr命令举例
  4. java定义构造方法_JAVA基础学习之路(三)类定义及构造方法
  5. ubuntu14安装python_ubuntu14.04 安装python3.7
  6. 信管专业c语言考什么,计算机信息管理专业卫生事业单位招聘考试笔试模拟题(十)...
  7. bp神经网络训练_数据分析模型6——神经网络基础(人工智能的底层模型)
  8. 算法设计与分析——递归与分治——归并排序
  9. 荣耀智慧屏功能曝光 首发华为鸿蒙OS,荣耀智慧屏功能曝光:首发华为鸿蒙OS,全场景智慧体验...
  10. [mybatis]映射文件_select_返回集合(List,Map)