codeforces 616D
题意:给你n个数,找出一个最大的区间,满足:不同的数值个数不超过k;
//我开始又看错题了、 以为是找出一个最大区间,里面的数的最大值不超过k;
思路:利用一个窗口滑动,左端点表示当前位置,右端点表示目前这段数列符合要求, 每增加一个长度,判断是否合理,不然平移左端点。 思路来自:http://blog.csdn.net/u011528035/article/details/50521870#;
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
const int qq=1e6;
int num[qq];
int dp[qq];
int l,r,k,n,ans,dif,p,q; //定义的全局变量自动初始化为0(包括数组).
int main()
{
cin >> n >> k;
l=r=;
for(int i=;i<=n;++i){
cin >> num[i];
if(!dp[num[i]]) ++dif;
dp[num[i]]++;
r=i;
if(dif>k){
for(int j=l;j<=r;++j){
dp[num[j]]--;
if(!dp[num[j]]){
dif--;l=j+;break;
}
}
}
if(r-l+>ans){
ans=r-l+;q=l;p=r;
}
}
cout << q << " " << p << endl;
}
codeforces 616D的更多相关文章
- 【CodeForces 616D】Longest k-Good Segment
题意 n个数里,找到最长的一个连续序列使里面最多k个不同的数. 分析 尺取法,每次R++,如果第R个数未出现过,那么不同的数+1,然后这个数的出现次数+1,如果不同的数大于k了,那就要去掉第L个数,直 ...
- CodeForces 616D Longest k-Good Segment
用队列维护一下即可 #include<cstdio> #include<cstring> #include<queue> #include<algorithm ...
- Educational Codeforces Round 5
616A - Comparing Two Long Integers 20171121 直接暴力莽就好了...没什么好说的 #include<stdlib.h> #include&l ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
随机推荐
- GitHub上的SliddingMenu滑动过程中卡顿问题的解决的方法
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wenyiqingnianiii/article/details/25123995 找了非常久,仅仅需 ...
- ubuntu上将常用程序拖到左侧栏目
- 【Leetcode 堆、快速选择、Top-K问题 BFPRT】有序矩阵中第K小的元素(378)
题目 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素. 请注意,它是排序后的第k小元素,而不是第k个元素. 示例: matrix = [ [ 1, 5, 9], [ ...
- 解决Apache日志"internal dummy connection"方法
最近查看服务器中apache日志,发现有大量的 OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy co ...
- 【JZOJ4772】【NOIP2016提高A组模拟9.9】运输妹子
题目描述 小轩轩是一位非同一般的的大农(lao)场(si)主(ji),他有一大片非同一般的农田,并且坐落在一条公路旁(可以认为是数轴),在他的农田里种的东西也非同一般--不是什么水稻小麦,而是妹子. ...
- linux 查看并关闭窗口
查看端口 ps -ef | grep tomcat 关闭端口 kill -9 端口号
- Oracle函数——MINUS
解释 “minus”直接翻译为中文是“减”的意思,在Oracle中也是用来做减法操作的,只不过它不是传统意义上对数字的减法,而是对查询结果集的减法.A minus B就意味着将结果集A去除结果集B中所 ...
- Kubernetes1.3新特性:支持GPU
(一) 背景资料 GPU就是图形处理器,是Graphics Processing Unit的缩写.电脑显示器上显示的图像,在显示在显示器上之前,要经过一些列处理,这个过程有个专有的名词叫" ...
- matlab 单元最短路 Dijkstra算法 无向图
W = [2 8 1 1 6 5 1 2 3 6 4 9 3 7 9]; S = [0 0 0 1 1 3 3 3 5 5 6 4 6 2 2];S=S+1; T = [1 3 2 4 3 4 5 6 ...
- MUI - 为textarea添加语音输入和清除的功能
为textarea添加语音输入和清除的功能 mui支持input输入框语音输入和清除的功能,只需要添加相关css类即可. http://www.cnblogs.com/phillyx/ 代码如下 &l ...