暑假提高组集训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& ...
随机推荐
- H3C 配置Basic NAT
- Vue之webpack的安装与配置及其简单应用
一.文件结构 二.index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- POI 导入、导出Excel
POI,全称Apache POI,是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.项目地址:Apache POI - t ...
- 深入理解CSS盒模型(转)
转自:https://www.cnblogs.com/chengzp/p/cssbox.html 基本概念 盒模型的组成大家肯定都懂,由里向外content,padding,border,margin ...
- H3C进入目录---用户视图
进入logfile文件目录 <H3C>cd logfile/ //进入目录 <H3C>pwd //显示当前所属的目录 cf:/logfil ...
- 微信小程序 image图片组件实现宽度固定 高度自适应
给img的mode设置值 注1:image组件默认宽度300px.高度225px 注2:image组件中二维码/小程序码图片不支持长按识别.仅在wx.previewImage中支持长按识别. mode ...
- Java数据库操作学习
JDBC是java和数据库的连接,是一种规范,提供java程序与数据库的连接接口,使用户不用在意具体的数据库.JDBC类型:类型1-JDBC-ODBC桥类型2-本地API驱动类型3-网络协议驱动类型4 ...
- NI LabVIEW 编程规范
LabVIEW程序编写应该遵循哪些规范? 遵循这些规范有什么好处? 具体细节是什么? 针对上面三个问题一一解答: 一.LabVIEW程序编写应该遵循哪些规范? (1)前面板.后面板控件整齐,尽可能在一 ...
- Caffe源码-几种优化算法
SGD简介 caffe中的SGDSolver类中实现了带动量的梯度下降法,其原理如下,\(lr\)为学习率,\(m\)为动量参数. 计算新的动量:history_data = local_rate * ...
- 工厂设计模式灵魂拷问-Java实现
show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式 ...