Longest k-Good Segment
2016-01-27 00:59
495 查看
点击打开链接
#include<bits/stdc++.h> using namespace std; #define N 1000101 #define LL __int64 #define inf 1e30; int vis ,a ; int main() { int i,j,n,m,ans=0,l,r; scanf("%d%d",&n,&m); for(i=1;i<=n;i++)scanf("%d",&a[i]); queue<int>q; int tmp=0;//不同元素的个数 for(i=1;i<=n;i++) { q.push(a[i]); if(!vis[a[i]]) tmp++; vis[a[i]]++; if(tmp<=m){// 符合条件 if(q.size()>ans){//子序列比原来的更长 ans=q.size(); r=i;l=i-ans+1; } } else{//从队列的头开始删除直到tmp减小 while(1){ int t=q.front();q.pop(); vis[t]--; if(vis[t]==0){ tmp--; break; } } } } printf("%d %d\n",l,r); return 0; }
相关文章推荐
- golang中设置Host Header的小Tips
- VIEWGOOD(远古)流媒体技术在部队中的应用
- 杭电2672 God is a girl
- Django ajax post
- URAL 1733 Forgotten Technology
- 学习Django
- Django模型操作
- 1、django 简介与部署
- Golang初级系列教程-面向对象总结
- django pk和id
- POJ 1003 Hangover
- pymongo "ServerSelectionTimeoutError: No servers found yet" 错误的解决
- go语言的 数组、slice、map使用(转)
- Golang实现排序算法之冒泡排序
- Google的Gson包的使用简介
- #include <algorithm> 常用函数
- Google Chrome浏览器调试
- Good Bye 2013 总结
- disconf-基于xml分布式配置管理mongo
- 从django的中间件直接返回请求