题目链接:http://codeforces.com/problemset/problem/180/E

给你n个数,每个数代表一种颜色,给你1到m的m种颜色。最多可以删k个数,问你最长连续相同颜色的序列的长度是多少。

将相同颜色的下标存到对应颜色的容器中,比如ans[a[i]].push_back(i)就是将下标为i颜色为a[i]的数存到ans[a[i]]容器中。

对于每种颜色序列,尺取一下 在差距小于k的情况下取能取到的最大长度。

 //#pragma comment(linker, "/STACK:102400000, 102400000")
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <vector>
#include <cmath>
#include <ctime>
#include <list>
#include <set>
#include <map>
using namespace std;
typedef long long LL;
typedef pair <int, int> P;
const int N = 1e5 + ;
vector <int> ans[N];
int a[N*]; int solve(int u, int k) {
int len = ans[u].size(), notcnt = , cnt = , l = , res = ;
//notcnt表示中间删除数的多少,cnt表示颜色为u的序列的长度
for(int i = ; i < len; ++i) {
int v = ans[u][i];
notcnt += v - ans[u][i - ] - ;
cnt++;
while(notcnt > k && l <= i) {
notcnt -= ans[u][l + ] - ans[u][l] - ;
cnt--;
l++;
}
res = max(cnt, res);
}
return res;
} int main()
{
int n, m, k;
scanf("%d %d %d", &n, &m, &k);
for(int i = ; i <= n; ++i) {
scanf("%d", a + i);
ans[a[i]].push_back(i);
}
int res = ;
for(int i = ; i <= m; ++i) {
if(ans[i].size()) { //要是存在颜色为i的数
res = max(res, solve(i, k));
}
}
printf("%d\n", res);
return ;
}

最新文章

  1. Win7下Hyenae的安装
  2. 工程环境搭建和网站部署(java)
  3. Android OkHttp完全解析 --zz
  4. 在Android Studio中用Gradle添加Robolectric
  5. python多线程备份MYSQL数据库并删除旧的备份。
  6. POSIX字符类
  7. promise理解
  8. C++二维数组动态内存分配
  9. tomcat------https单向认证和双向认证
  10. SAX解析XML文件实例代码
  11. HTML知识点
  12. my first blogs(我的处女博)
  13. Github Page--CSDN新人的第二选择
  14. 此主机支持Intel VT-x,但Intel VT-x处于禁用状态
  15. leetcode26: 删除排序数组中的重复项
  16. PS提亮户外儿童照
  17. JavaScript的BOM编程,事件-第4章
  18. ES6 新增数据类型检测 Set Map Proxy
  19. C#下编程完成IIS网络App的权限设置
  20. Java集合----概述、Collection接口、Iterator接口

热门文章

  1. Oracle默认的用户名和密码
  2. CodeForces 489A (瞎搞) SwapSort
  3. Nginx - webbench压力测试
  4. eclipse 下生成jar包
  5. WdatePicker的一些用法
  6. xcode升级,报错 libxml/tree.h not found (Xcode4.6解决方案)
  7. HDU 5744 Keep On Movin
  8. ylbtech-权限管理-数据库设计-功能权限管理技术
  9. Devexpress DateEdit选年月 z
  10. duilib relativepos属性导致控件错误的bug修复