昨天下午想了好久没想出来,果然是很弱,思考能力低下。

用的类似单调队列的思想,维护一个长度为$k+1$的滑块,每次统计下$ans$就可以了

#include<cstdio>
#include<algorithm>
using namespace std;
int n, k, H[100003], id[100003], a[100003], cnt = 0, c[100003], st, ans = 0;
inline bool cmp(int X, int Y) {
return H[X] < H[Y];
}
int main() {
scanf("%d%d\n", &n, &k);
for(int i = 1; i <= n; ++i) {
scanf("%d\n", &H[i]);
id[i] = i;
}
id[0] = 0;
H[0] = 100003;
sort(id + 1, id + n + 1, cmp);
for(int i = 1; i <= n; ++i) {
if (H[id[i]] != H[id[i-1]])
++cnt;
a[id[i]] = cnt;
}
cnt = 0;
st = 0;
for(int i = 1; i <= n; ++i) {
++c[a[i]];
if (c[a[i]] == 1) {
++cnt;
while (cnt > k + 1) {
--c[a[st]];
if (c[a[st]] == 0)
--cnt;
++st;
}
}
ans = max(ans, c[a[i]]);
}
printf("%d\n",ans);
return 0;
}

没了

【BZOJ 3048】【USACO2013 Jan】Cow Lineup 滑块思想的更多相关文章

  1. [bzoj 3048] [Usaco2013 Jan]Cow Lineup

    [bzoj 3048] [Usaco2013 Jan]Cow Lineup Description 给你一个长度为n(1<=n<=100,000)的自然数数列,其中每一个数都小于等于10亿 ...

  2. bzoj 3048[Usaco2013 Jan]Cow Lineup 思想,乱搞 stl

    3048: [Usaco2013 Jan]Cow Lineup Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 237  Solved: 168[Subm ...

  3. BZOJ 3048: [Usaco2013 Jan]Cow Lineup 双指针

    看到这道题的第一个想法是二分+主席树(好暴力啊) 实际上不用这么麻烦,用一个双指针+桶扫一遍就行了 ~ code: #include <bits/stdc++.h> #define N 1 ...

  4. bzoj3048[Usaco2013 Jan]Cow Lineup 尺取法

    3048: [Usaco2013 Jan]Cow Lineup Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 225  Solved: 159[Subm ...

  5. BZOJ_3048_[Usaco2013 Jan]Cow Lineup _双指针

    BZOJ_3048_[Usaco2013 Jan]Cow Lineup _双指针 Description Farmer John's N cows (1 <= N <= 100,000) ...

  6. [bzoj3048] [Usaco2013 Jan]Cow Lineup

    一开始一脸懵逼.. 后来才想到维护一左一右俩指针l和r..表示[l,r]这段内不同种类的数字<=k+1种. 显然最左的.合法的l随着r的增加而不减. 顺便离散化,记一下各个种类数字出现的次数就可 ...

  7. bzoj 1636: [Usaco2007 Jan]Balanced Lineup -- 线段树

    1636: [Usaco2007 Jan]Balanced Lineup Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 772  Solved: 560线 ...

  8. bzoj 1701 [Usaco2007 Jan]Cow School牛学校

    [Usaco2007 Jan]Cow School牛学校 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 175  Solved: 83[Submit][S ...

  9. Bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 传递闭包,bitset

    1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 891  Solved: 590 ...

随机推荐

  1. Flappy Bird (Java实现)

    运行效果: 代码: package bird; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; im ...

  2. 已Access为支持,书写一个C#写入的记录的方案

      /// <summary> /// 读取Excel文档 /// </summary> /// <param name="Path">文件名称 ...

  3. IntelliJ IDEA运行tomcat项目编码错误, 及如何指定tomcat编码

    刚开始用IDEA, 在跑dubbo开发时, 发现一个很奇怪的问题, 远程调用服务端的方法时, 传入的中文参数会变成GBK编码. 经过好长时间的跟踪终于把问题定位到了IDEA里配置的Tomcat. 凡是 ...

  4. 使用Jquery向一个空白网页动态创建一个iframe,及嵌入页面,和向嵌入页面传参

    [csharp] view plaincopyprint?using Microsoft.VisualBasic; using System; using System.Collections; us ...

  5. ToolkitScriptManager, ScriptManager AjaxControlToolkit 出错

    在使用ASP.NET AJAX应用时需添加ToolkitScriptManager或者ScriptManager.如果只是使用updatepanel,两者均可.如果有涉及到AJAX Control T ...

  6. Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

    概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...

  7. JAVA格物致知开篇:凡事预则立不预则废

    在我的这一生中,我发现我做事的方式可以用一句话概括:凡事预则立,不预则废.这么多年,我一直秉承着要做有准备的事情,不打无准备之仗的道理来过活.其实这样会让我的妻子非常的烦恼,她是乐天派,喜欢事情来了才 ...

  8. TinyFrame升级之四:IOC容器

    在这个框架中,我们使用Autofac作为IOC容器,来实现控制反转,依赖注入的目的. 在程序加载的时候,我需要将系统中所有用到的接口与之对应的实现进行装载.由于用户交互部分是在TinyFrame.We ...

  9. 【分布式协调】之理解paxos

    感叹一下 不得不说近几年国内软件行业发生了巨大的变化,之前几乎所有应用都围绕桌面展开,而近几年很多让人神魂颠倒的关键词一个接一个的映入眼帘:web2.0.移动应用.云计算.大数据.互联网的浪潮一波接着 ...

  10. hibernate Expression详解

    关键字: hibernate expression hibernate Expression详解Expression.gt:对应SQL条件中的"field > value " ...