暑假提高组集训Day1 T1
说实话,今天的题真的有点难!
~备受打击~
我们先来看一看第一题吧


看起来好像不太简单,其实并不难
下面来提供两种方法吧
1.做法一
//签到题
/* 那么这一题就是告诉你n个点的坐标,把它们分别放到 0,0 0,1 0,2 ... 0,n-1
每一次可以把一个点向上下左右移动单位长度
那么我们可以先把他们到横轴的距离先累加起来
相当于都移动到了横轴上
我们可以贪心地想一下
已经到位的点肯定最好就不要动啦
然后把剩下的点的x坐标进行排序
然后插到空儿里
*/
#include<bits/stdc++.h>
using namespace std;
int n;
int Leftx[1000005];
int vis[1000005];
int main()
{
// freopen("checkin.in","r",stdin);
// freopen("checkin.out","w",stdout);
unsigned long long ans=0;
scanf("%d",&n);
int t=0,x,y;
for(int i=0;i<n;i++){
scanf("%d%d",&x,&y);//输入
ans+=abs(y);//先把它们放到x轴上,就相当于加上 纵坐标y与横轴之间的距离
if(!(x>=0&&x<n))
Leftx[++t]=x;//如果不在0~n-1的范围内,就把它们存起来
else
vis[x]=1;//否则标记起来
}
sort(Leftx+1,Leftx+t+1);//把剩下的点按照x坐标进行排序
int T=0;
for(int i=0;i<n;i++){
if(vis[i])
continue;
T++;//接下来就是挨个插到空儿里
ans+=abs(i-Leftx[T]);//算法竞赛入门经典第二版
}
cout<<ans;
return 0; }
2.做法二
其实就是把每一个点先进行排序,然后按顺序放进去,把每一个点要移动的距离累加起来
心得:提高组Day1T1 其实并不难
像这一道题就是一道贪心 模拟一下就能很轻松地解决~
p.s.下一道题就很坑了!!!
暑假提高组集训Day1 T1的更多相关文章
- 暑假提高组集训Day1 T2
那么这一道题我在考试的时候写挂了(0分 呜呜~) 我原来的思路是广搜来骗取部分分(哈哈~) 但是我忘记了一个非常重要的问题 我广搜开的数组没有考虑负的下标 下一次考试如果再写暴力 就可以把坐标都加上一 ...
- 【NOIP2015提高组】Day1 t1神奇的幻方
一大淼题,直接瞎搞即可,不过一定要仔细看题目给定的条件. #include<iostream> #include<cstdio> #include<cstring> ...
- 【2020.11.28提高组模拟】T1染色(color)
[2020.11.28提高组模拟]T1染色(color) 题目 题目描述 给定 \(n\),你现在需要给整数 \(1\) 到 \(n\) 进行染色,使得对于所有的 \(1\leq i<j\leq ...
- 【FZSZ2017暑假提高组Day1】华容道游戏
[问题描述] 华容道是一种有趣的滑块游戏,大概是下面这个样子的. 游戏局面由一个2*2的曹操滑块,五个2*1的蜀将滑块(横竖是不定的).四个1*1的小兵滑块以及两个空的位置构成,玩家需要利用空的位子移 ...
- 【FZSZ2017暑假提高组Day1】确定小组
[问题描述] 有n个人坐成一排,这n个人都在某一个小组中,同一个小组的所有人所坐的位置一定是连续的. 有一个记者在现场进行采访,他每次采访都会询问一个人其所在的小组有多少人,被询问的每个人都给出了正确 ...
- 【FZSZ2017暑假提高组Day1】最大矩形
[问题描述] 现在有n个宽度为1的矩形按如下图(左边的)所示的方式排在了一起: 用肉眼容易看出,在左图内部面积最大的矩形如右图绿色部分所标注. 现在我们考虑将其中一些宽度为1的矩形取出,按照原顺序再次 ...
- 【NOIP2016提高组】 Day2 T1 组合数问题
题目传送门:https://www.luogu.org/problemnew/show/P2822 ↓题目大意↓ 数据的极限范围:n,m≤2000,k≤21,数据组数≤ ...
- 【NOIP2015提高组】Day2 T1 跳石头
题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起点和终 点的岩石).在比赛过程中,选手们将从 ...
- 【NOIP2015提高组】 Day1 T3 斗地主
[题目描述] 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4& ...
随机推荐
- tf.variance_scaling_initializer() tensorflow学习:参数初始化
CNN中最重要的就是参数了,包括W,b. 我们训练CNN的最终目的就是得到最好的参数,使得目标函数取得最小值.参数的初始化也同样重要,因此微调受到很多人的重视,那么tf提供了哪些初始化参数的方法呢,我 ...
- java构造方法的私有化
有的时候我们为了避免外界创建某类的实例,就将某类的构造方法私有化,即将它的构造方法用private修饰: 外界如何用到? 提供get方法!不提供的话外界就没法创建对象!(对反射无效) Eg:packa ...
- Spring与C3p0连接数据库对事务操作
maven包: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin ...
- dotnet core 2.1 使用阶梯编译
在 dotnet core 2.1 可以使用阶梯编译的方法,从 dotnet framework 开始,在代码的所有方法在第一次进入的时候就需要使用 JIT 进行编译为本机的代码.可以看到代码是在第一 ...
- springboot上传文件时500错误,提示临时目录无效
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nes ...
- .map() .filter() .reduce() .includes() .some() .every()的用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js实现防抖,节流
防抖函数. 将几次操作合并为一次操作进行.设置一个计时器,规定在延迟时间后触发函数,但是在延迟时间内如果再次触发,就会取消之前的计时器.如此,只有最后一次操作能触发.代码如下: function de ...
- Java 学习笔记(11)——异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用System.ou ...
- python监控模块
pip install psutil 获取内存信息: >>> import psutil >>> mem = psutil.virtual_memory() #获取 ...
- 【ZooKeeper系列】3.ZooKeeper源码环境搭建
前文阅读: [ZooKeeper系列]1.ZooKeeper单机版.伪集群和集群环境搭建 [ZooKeeper系列]2.用Java实现ZooKeeper API的调用 在系列的前两篇文章中,介绍了Zo ...