CF786C Till I Collapse
题目大意:
对于一个序列,倘若一个区间内最多能发 $k$ 个不同的数,那么这个序列最少被划分成几个区间。
输出 $k$ 为 $1$ ~ $n$ 的答案。
思路:
其实会有连续一段不同的 $k$ 得到相同的答案,所以我们对于每段 $k$ 向下递归,如果左端点的答案和右端点的答案相同,那么就可以确定这一整段区间的答案。
以下代码:
![](/assets/blank.gif)
![](/assets/blank.gif)
#include<bits/stdc++.h> #define il inline #define _(d) while(d(isdigit(ch=getchar()))) using namespace std; const int N=1e5+5; bool vis[N]; int n,a[N],ans[N]; il int read(){int x,f=1;char ch;_(!)ch=='-'?f=-1:f;x=ch^48;_()x=(x<<1)+(x<<3)+(ch^48);return f*x; } il int getans(int k){int num=0,res=0,l=1;for(int i=1;i<=n;i++){if(!vis[a[i]]){num++;if(num>k){num=1;for(int j=l;j<i;j++)vis[a[j]]=0;res++;l=i;}vis[a[i]]=1;}}for(int i=1;i<=n;i++)vis[i]=0;return res+1; } il void solve(int l,int r){if(!ans[l])ans[l]=getans(l);if(!ans[r])ans[r]=getans(r);if(ans[l]==ans[r]){for(int i=l;i<=r;i++)ans[i]=ans[l];return;}int mid=(l+r)>>1;solve(l,mid);solve(mid+1,r); } int main() {n=read();for(int i=1;i<=n;i++)a[i]=read();solve(1,n);for(int i=1;i<=n;i++)printf("%d ",ans[i]);return 0; }
View Code
转载于:https://www.cnblogs.com/Jessie-/p/10527865.html
CF786C Till I Collapse相关推荐
- 【一些好听的英文歌曲】
原文地址:[一些好听的英文歌曲]作者:姑娘我笑着活 1.Bubbly--Colbie Caillat(你听过一遍就会非常喜欢的歌): 2.Burning--Maria Arredondo: 3.Hap ...
- 有趣题目和认知合集(持续更新)
写写对一些算法的理解,挂几个有意思的题,可能也会挂几个板子题 算法理解偏向于能懂即可,没有严格的证明 快乐几何 [1.2]Volatile Kite 点到直线 快乐搜与暴力 [2.4]Short Co ...
- [zt]给你的Mp4大换血,精选Touch里3年收集的900多首歌,经典不忍去的最新近流行的,与你共享~~...
如果你是音乐爱好者: 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! (一)这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maxi ...
- 好听的英文歌推荐 必备(亿买网整理)
[Anaesthesia]Maximilian Hecker强烈推荐 [Summer Days In Bloom]Maximilian Hecker力推! [end of May]Keren Ann ...
- 戴上耳机,全世界都是你的
戴上耳机,全世界都是你的 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! 这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maximil ...
- 好听的音乐,以后去自驾车的路上听 :)
这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! 这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maximilian Hecker强烈 ...
- 声音推荐【Anaesthesia】Maximilian Hecker强烈推荐
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 每日一道理 生活中受伤难免,失败跌倒并不可怕,可怕的是因此而一蹶不振,失去了对人生的追求与远 ...
- 【Anaesthesia】Maximilian Hecker强烈推荐
[Anaesthesia]Maximilian Hecker强烈推荐 [Summer Days In Bloom]Maximilian Hecker力推! [end of May]Keren Ann ...
- 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!!
这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maximilian Hecker强烈推荐 [Summer Days In Bloom]Maximilian H ...
最新文章
- 关于数据库内“表”的几点
- VTK:可视化之DepthSortPolyData
- 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day5)
- Python学习笔记之列表(五)
- 电子合同的履行_每日一“典”丨明确规定电子合同的订立、履行规则
- 帆软报表重要Activator之DesignerInitActivator之三NorthRegionContainerPane 主要是设计器菜单栏的部分
- android 音乐播放器-------歌词同步 lrc
- Redis--高并发之分布式锁
- 初级第五旬07— 初级课程第五旬试题
- springboot 集成 grpc 和 protobuf(二) | 在实际项目中使用 grpc 和 protobuf
- 接下来是 Downward API,它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息。
- DELL r340服务器U盘安装Centos7
- 教育与人生:教师节有感
- latex按照知网格式引用论文
- MATLAB与SolidWorks联合仿真(1)
- 使用canvas进行图片压缩(前端图片压缩核心处理)
- C语言中: 整型数据相除 得到浮点型数据
- ARM8/ARM7/A9/A15
- java thirteen线程同步机制
- 使用免费的CDN平台jsDelivr搭建个人cdn资源网盘
热门文章
- 长安旗下阿维塔科技增资扩股落定:宁德时代将持股约24%!
- 理解计算机系统第八章(家庭作业)
- androidwebview开发,面试要掌握这几个关键点!内容太过真实
- 【计算机网络】2、TCP:四次挥手与TIME_WAIT、shutdown() 优雅关闭 server、探活、拥塞窗口与 Nagle 算法、端口占用、tcp 的流式协议、可靠性
- uniapp实现微信手机号码登录注册注销(bug踩坑)
- 2020A证(安全员)考试题库及A证(安全员)实操考试视频
- 史林枫:C#.NET利用ffmpeg操作视频实战(格式转换,加水印 一步到位)
- 商标的注册方法(注:详细教程)
- (2)非对称密钥加密——RSA算法ECC算法(简介)
- 网站页面浏览次数代码mysql_php统计网站/html页面浏览访问次数程序