当前位置: 首页 > news >正文

Educational Codeforces Round 170 C New Game

思路

滑动窗口

排完序后找左右边界差值小于等于k 的最长子序列长度即可

可以用map去重

代码

#include <bits/stdc++.h>
using namespace std;const int N = 200010;int t, n, k;
int a[N], b[N];void solve()
{cin >> n >> k;for (int i = 1; i <= n; i ++ ) cin >> a[i];map<int, int> ump;int tt = 0;for (int i = 1; i <= n; i ++ ){if (!ump[a[i]]){b[tt ++ ] = a[i];}ump[a[i]] ++;}sort(b, b + tt);int res = 0;int i, j;int temp = 0;for (i = 0, j = 0; i < tt; i ++ ){j = max(i, j);if (j == i)temp = ump[b[i]];elsetemp -= ump[b[i - 1]];while (j < tt - 1 && b[j] + 1 == b[j + 1] && j - i + 1 < k){j ++;temp += ump[b[j]];}res = max(res, temp);}cout << res << endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> t;while (t -- ){solve();}
}


http://www.mrgr.cn/news/57325.html

相关文章:

  • git区分大小写吗?如果不区分,那要如何设置?
  • AI文案助手:如何在30秒内生成吸引人的营销文案?
  • 系统架构风格
  • UniAD本地测试(使用docker搭建训练环境)
  • 虹科免拆诊断案例 | 保时捷卡宴V6发动机失火诊断故障码和发动机警告灯之谜
  • FPGA实现UDP通信(5)——CRC校验
  • sonarqube-代码扫描-1
  • Apache Kyuubi概述——网易数帆(网易杭州研究院)开源
  • C++在实际项目中的应用第一课:游戏开发中的C++
  • segformer的mmcv-full==1.2.7怎么装
  • 软考高级架构师-6.5-NoSQL数据库-超详细讲解+精简总结
  • arp代答观察
  • 驱动开发系列23 - tasklet用法介绍
  • 如何将logism电路转为verilog(一)
  • 【建议收藏】大数据Flink入门专栏-v1.0,配套B站视频教程1小时速通
  • 【MyBatis】MyBatis-config标签详解
  • [COCI2015-2016#7] Prosti
  • 正则中的字符集
  • LeetCode 110. 平衡二叉树
  • 滑动窗口与TCP的缓冲区(buff)的关系
  • 四向车西门子PLC1200脉冲控制伺服与总线型控制方式思考
  • 【排序】快排思想以及例子
  • JavaScript 第30章:综合项目
  • “摄像机”跟随及攻击抖动实现
  • Linux基础IO
  • Android Handler(Looper.getMainLooper()),Kotlin