暑假提高组集训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& ...
随机推荐
- js 制作分页
如图所示 在html中调用方法 getpage(7, 1, 1, 'URL') 1.page.js文件 代码 function getpage(count, countPage, pageIndex, ...
- 【React】富文本编辑器 清空文本内容 获取HTML
富文本编辑器 React 传入 import React,{Component } from 'react'; import { Card, Button, Table, Form, Select ...
- 查看laravel版本
方法1: 使用php artisan --version ,只要能看懂这个命令的人一定已经具有初步的Laravel知识.再介绍一种不需要命令,直接去文件中去查看的方法. 方法2: 在项目文件中找ven ...
- H3C 根据主机地址数划分子网
- H3C 聚合链路负载分担原理
- 使用cnpm i -S axios 遇到报错Install fail! Error: EISDIR: illegal operation on a directory, symlink..........的解决办法
“今天本来想在cnpm 环境下安装axios,但是在安装axios的时候出现了一些问题.使用cnpm淘宝镜像库下载安装axios的时候报错 Install fail! Error: EISDIR: i ...
- Leecoder466 Count The Repetitons
Leecoder466 Count The Repetitons 题目大意 定义\([s,n]\)为连续\(n\)个串\(s\)构成的串 现在给定\(s_1,n_1,s_2,n_2\),求最大的\(m ...
- 使用 koa-router 路由拆分
根据功能不同,将路由拆分到不同的模块 目录结构: app.js const Koa = require('koa'); const Router = require('koa-router'); co ...
- dotnet 通过 WMI 获取系统安装的驱动
本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序 通过 Win32_SystemDriver 可以获取用户已经安装的驱动程序 var mc = "Win32_SystemDriver ...
- python实现单词本功能
#实现简单的单词本:# 可以添加单词和词义,当所添加的单词已经存在 让用户知道:# 查找单词,单词不存在时,让用户知道# 删除单词,当删除的单词不存在时,让用户知道# 以上功能无限制操作,直到用户输入 ...