题目链接


Solution

尺取法板子,算是复习一波.

题中说最多删除 \(k\) 种,那么其实就是找一个颜色种类最多为 \(k+1\) 的区间;

统计一下其中最多的颜色出现次数.

然后直接尺取法,然后每次对于 \(col[r]\) 进行统计,时间复杂度 \(O(n)\) .

Code

#include<bits/stdc++.h>
using namespace std;
const int maxn=100008; int ans;
int n,k,col[maxn];
map <int,int>js; int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&col[i]);
int now=0,l=1,r=0;
while(r<=n)
{
r++;
if(!js[col[r]])now++;
js[col[r]]++;
while(now==k+2)
{
js[col[l]]--;
if(!js[col[l]])now--;
l++;
}
ans=max(ans,js[col[r]]);
}
cout<<ans<<endl;
}

最新文章

  1. Ubuntu下的Notepad++:Notepadqq
  2. delphi Syntax check、 build、 run、 compile的区别
  3. C#日期格式转换
  4. zepto阻止事件冒泡
  5. SqlServer 之 查看表空间
  6. 网络子系统43_ip选项预处理
  7. ASIHTTPRequest中的DELETE、PUT、GET、POST请求实例-备用
  8. javaweb学习路之一--web项目搭建
  9. DOS批处理中%cd%和%~dp0的区别[forward]
  10. RxSwift(一)
  11. 发布core到linux
  12. 从锅炉工到AI专家(4)
  13. ApiKernel
  14. webToImage (网页转图片)模块试用分享
  15. GTF文件
  16. Mentor面向智能家居的IoT方案
  17. MAC使用mysql报错:ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)
  18. Intorduction of Annotation ,about examples in Hello1.java
  19. CS229 笔记07
  20. mysql 日期 字符串 时间戳转换

热门文章

  1. js各运算符的执行顺序
  2. 设置DataGridView单元格的文本对齐方式
  3. PSNR
  4. HTML5&lt;figure&gt;元素
  5. 02_5if switch分支与循环语句
  6. iOS 证书、真机调试、发布 App Store
  7. Element-ui tree组件自定义节点使用方法
  8. 基于matlab的蓝色车牌定位与识别---定位
  9. 51nod——1391 01串(字符串、前缀和)
  10. http客户端与浏览器的区别