题目大意:

对于一个序列,倘若一个区间内最多能发 $k$ 个不同的数,那么这个序列最少被划分成几个区间。

输出 $k$ 为 $1$ ~ $n$ 的答案。

思路:

其实会有连续一段不同的 $k$ 得到相同的答案,所以我们对于每段 $k$ 向下递归,如果左端点的答案和右端点的答案相同,那么就可以确定这一整段区间的答案。

以下代码:

#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. 【一些好听的英文歌曲】

    原文地址:[一些好听的英文歌曲]作者:姑娘我笑着活 1.Bubbly--Colbie Caillat(你听过一遍就会非常喜欢的歌): 2.Burning--Maria Arredondo: 3.Hap ...

  2. 有趣题目和认知合集(持续更新)

    写写对一些算法的理解,挂几个有意思的题,可能也会挂几个板子题 算法理解偏向于能懂即可,没有严格的证明 快乐几何 [1.2]Volatile Kite 点到直线 快乐搜与暴力 [2.4]Short Co ...

  3. [zt]给你的Mp4大换血,精选Touch里3年收集的900多首歌,经典不忍去的最新近流行的,与你共享~~...

    如果你是音乐爱好者:  这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! (一)这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲...  [Anaesthesia]Maxi ...

  4. 好听的英文歌推荐 必备(亿买网整理)

    [Anaesthesia]Maximilian Hecker强烈推荐 [Summer Days In Bloom]Maximilian Hecker力推! [end of May]Keren Ann ...

  5. 戴上耳机,全世界都是你的

    戴上耳机,全世界都是你的 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! 这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maximil ...

  6. 好听的音乐,以后去自驾车的路上听 :)

    这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! 这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲...  [Anaesthesia]Maximilian Hecker强烈 ...

  7. 声音推荐【Anaesthesia】Maximilian Hecker强烈推荐

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 每日一道理 生活中受伤难免,失败跌倒并不可怕,可怕的是因此而一蹶不振,失去了对人生的追求与远 ...

  8. 【Anaesthesia】Maximilian Hecker强烈推荐

    [Anaesthesia]Maximilian Hecker强烈推荐 [Summer Days In Bloom]Maximilian Hecker力推! [end of May]Keren Ann ...

  9. 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!!

    这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲...  [Anaesthesia]Maximilian Hecker强烈推荐  [Summer Days In Bloom]Maximilian H ...

最新文章

  1. 关于数据库内“表”的几点
  2. VTK:可视化之DepthSortPolyData
  3. 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day5)
  4. Python学习笔记之列表(五)
  5. 电子合同的履行_每日一“典”丨明确规定电子合同的订立、履行规则
  6. 帆软报表重要Activator之DesignerInitActivator之三NorthRegionContainerPane 主要是设计器菜单栏的部分
  7. android 音乐播放器-------歌词同步 lrc
  8. Redis--高并发之分布式锁
  9. 初级第五旬07— 初级课程第五旬试题
  10. springboot 集成 grpc 和 protobuf(二) | 在实际项目中使用 grpc 和 protobuf
  11. 接下来是 Downward API,它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息。
  12. DELL r340服务器U盘安装Centos7
  13. 教育与人生:教师节有感
  14. latex按照知网格式引用论文
  15. MATLAB与SolidWorks联合仿真(1)
  16. 使用canvas进行图片压缩(前端图片压缩核心处理)
  17. C语言中: 整型数据相除 得到浮点型数据
  18. ARM8/ARM7/A9/A15
  19. java thirteen线程同步机制
  20. 使用免费的CDN平台jsDelivr搭建个人cdn资源网盘

热门文章

  1. 长安旗下阿维塔科技增资扩股落定:宁德时代将持股约24%!
  2. 理解计算机系统第八章(家庭作业)
  3. androidwebview开发,面试要掌握这几个关键点!内容太过真实
  4. 【计算机网络】2、TCP:四次挥手与TIME_WAIT、shutdown() 优雅关闭 server、探活、拥塞窗口与 Nagle 算法、端口占用、tcp 的流式协议、可靠性
  5. uniapp实现微信手机号码登录注册注销(bug踩坑)
  6. 2020A证(安全员)考试题库及A证(安全员)实操考试视频
  7. 史林枫:C#.NET利用ffmpeg操作视频实战(格式转换,加水印 一步到位)
  8. 商标的注册方法(注:详细教程)
  9. (2)非对称密钥加密——RSA算法ECC算法(简介)
  10. 网站页面浏览次数代码mysql_php统计网站/html页面浏览访问次数程序