codeforces 1283E New Year Parties (贪心)
链接:https://codeforces.com/contest/1283/problem/E
题意: 有n个人住在一些房子里,有的人住在同一个房子里。每个人可以选择搬去他的房子左边那个房子或者右边那个房子,亦或是不搬,搬只能向左或向右移动一次。问这些人最少住几个房子和最多住几个房子。
题解:贪心。最小值就是三人聚合起来,聚合在一个房子。最大值就是贪心地尽可能地向空房子移动
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
const int maxn = 2e5+ ;
int x[maxn];
int s[maxn];
int main(){
int n;cin>>n;
for(int i = ;i<n;i++){
int t;cin>>t;
x[t] ++;
s[t] ++;
}
int mx = ,mi = ;
for(int i = ;i<=n+;i++){//求最大值
if(x[i] == ) continue;//当前为0,没人住就跳过
if(x[i-] == ){//前一个房子为空,就移动过一个人,占一个房子
x[i]--;
x[i-]++;
}
if(x[i]>){//往前一个房子移动过一个人后,如果还有多余的人能再移动,就尽可能再往后面的房子移动
x[i+]++;
x[i]--;
}
}
for(int i = ;i<=n+;i++){
if(x[i]!=) mx++;
}
vector<int> v;
int f = ,cur = ;
for(int i = ;i<=n;i++){
if(s[i] != ){//如果当前房子有人,那么房子+1和-1地方的人都聚合过来,每三个人跳转一次
mi++;
i+=;//直接跳转
}
}
cout<<mi<<" "<<mx;
return ;
}
codeforces 1283E New Year Parties (贪心)的更多相关文章
- codeforces Gym 100338E Numbers (贪心,实现)
题目:http://codeforces.com/gym/100338/attachments 贪心,每次枚举10的i次幂,除k后取余数r在用k-r补在10的幂上作为候选答案. #include< ...
- [Codeforces 1214A]Optimal Currency Exchange(贪心)
[Codeforces 1214A]Optimal Currency Exchange(贪心) 题面 题面较长,略 分析 这个A题稍微有点思维难度,比赛的时候被孙了一下 贪心的思路是,我们换面值越小的 ...
- codeforces 349B Color the Fence 贪心,思维
1.codeforces 349B Color the Fence 2.链接:http://codeforces.com/problemset/problem/349/B 3.总结: 刷栅栏.1 ...
- Codeforces Gym 100269E Energy Tycoon 贪心
题目链接:http://codeforces.com/gym/100269/attachments 题意: 有长度为n个格子,你有两种操作,1是放一个长度为1的东西上去,2是放一个长度为2的东西上去 ...
- CodeForces 797C Minimal string:贪心+模拟
题目链接:http://codeforces.com/problemset/problem/797/C 题意: 给你一个非空字符串s,空字符串t和u.有两种操作:(1)把s的首字符取出并添加到t的末尾 ...
- codeforces 803D Magazine Ad(二分+贪心)
Magazine Ad 题目链接:http://codeforces.com/contest/803/problem/D ——每天在线,欢迎留言谈论. 题目大意: 给你一个数字k,和一行字符 例: g ...
- Codeforces 980E The Number Games 贪心 倍增表
原文链接https://www.cnblogs.com/zhouzhendong/p/9074226.html 题目传送门 - Codeforces 980E 题意 $\rm Codeforces$ ...
- Codeforces 798D Mike and distribution - 贪心
Mike has always been thinking about the harshness of social inequality. He's so obsessed with it tha ...
- Codeforces 402D Upgrading Array:贪心 + 数学
题目链接:http://codeforces.com/problemset/problem/402/D 题意: 给你一个长度为n的数列a[i],又给出了m个“坏质数”b[i]. 定义函数f(s),其中 ...
随机推荐
- Kali linux中安装字体的一种方法
有人说,lucida sans typewriter字体是一种非常适合的编程字体,所以想试试.经过一番折腾,终于在Clion中用上了.步骤如下: 第一步:先下载这个字体. http://www.dow ...
- 洛谷题解 P1744 【采购特价商品】
原题传送门 题目描述 中山路店山店海,成了购物狂爱与愁大神的"不归之路".中山路上有n(n<=100)家店,每家店的坐标均在-10000~10000之间.其中的m家店之间有通 ...
- H5解决active伪类失效---点击后背景效果
<body ontouchstart></body> 给body注册一个空事件即可
- Web_0005:阿里云服务器OSS权限的配置开通
创建用户 1,创建子用户 2,点击新建用户 3,设置账号类型,可以同时选 设置权限 1,设置对阿里云模块的控制权限,如 oss ecs 等的访问控制权限 2,点击所需的权限 3,获取账号的Acess ...
- java遍历统计一个文件夹中所有文件单词出现次数
思路就是通过递归进行文件遍历,把所有文件夹中的非目录文件都遍历一遍,并判断其中读取到的字符串是不是单词,并对单词进行记录和计数,并在最后进行排序输出,下面是代码: package word; impo ...
- 剑指offer-面试题31-栈的压入弹出序列-栈
#include<iostream> #include<string.h> #include<algorithm> #include<cmath> #i ...
- 转: OSIP协议栈使用入门
转自百度文库 很长时间之前,简单粗略地看了下Osip,eXosip,ortp等并快速“封装”了一个Windows下的基于VC6的MFC的SIP软电话(全部源代码VC6工程文件及Lib库可在本Blog共 ...
- jQuery---弹幕效果
弹幕效果 <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...
- VsCode开发Java SpringBoot遇到的问题
报错截图 报错一:Build failed, Do you want to continue? 编译失败,你想继续吗? 报错二:ConfigError:The Project "Demo&q ...
- C语言 continue
C语言 continue 在循环语句中,如果希望立即终止本次循环,并执行下一次循环,此时就需要使用continue语句. 案例 #include<stdio.h> int main() { ...