AcWing 1969. 品种邻近(滑动窗口+枚举)
题目链接
https://www.acwing.com/problem/content/1971/
思路
我们从id较大的点往id较小的点进行遍历操作,然后找出一个满足条件的id就直接输出然后return 0,否则循环完后直接输出-1
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>
ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
int n,k,a;
vector<int> V[N];int main()
{cin>>n>>k;int mx = 0;for(int i = 1;i <= n ;++i) {cin>>a;mx = max(mx,a);V[a].push_back(i);//放进vector里面}for(int i = mx;i >= 0; --i) {//从id大的到id小的遍历if(V[i].size())for(int j = 0,len = V[i].size();j < len - 1; ++j) {if(V[i][j+1]-V[i][j]<=k){//判断是否拥挤cout<<i<<endl;return 0;}}}puts("-1");return 0;
}
AcWing 1969. 品种邻近(滑动窗口+枚举)相关推荐
- AcWing 1236. 递增三元组 (flag + 前缀和 | 二分 | 滑动窗口)
1236. 递增三元组 解题思路 最开始想到3重循环枚举三个数组,然后最内层用条件语句判断一下即可,但是数据范围为10510^5105,三重循环肯定会超时 那么这道题很可能需要的算法复杂度为O(n)O ...
- AcWing 154.滑动窗口
原题链接如下: 154. 滑动窗口 - AcWing题库 在直播课里,y总给我们讲了一个很重要的思想,对于这种类型的问题,我们一般都是先去找一个常规的暴力做法,然后我们从暴力做法里去发现,有哪些东西是 ...
- 单调队列板子:求滑动窗口中最大值和最小值
文章目录 题目分析 初始思路 单调队列优化的思路 代码1:数组模拟单调队列的代码 代码2:deque容器实现 能用到单调队列的情景比较有限: 1.典型的有滑动窗口的最值, 2.找到里它最近的比它大(小 ...
- Facebook TensorMask:一种新的密集滑动窗口分割技术
导语:TunSoMeM 为探索分割研究提供了新的方向 语音播放文章内容 由深声科技提供技术支持 近日,Facebook 发布了一项新的研究,该研究探索了实例分割的新方法.与掩模 R-CNN 驱动的标准 ...
- LeetCode Contains Duplicate III(滑动窗口)
问题:给出一个数组,要求 思路:第一种方法使用枚举法,对于i,则判断[0,i-k]之间的数与nums[i]的绝对值是否小于等于t. 第二种方法基于set的滑动窗口.在遍历数组时,先看集合中比当前遍历 ...
- 剑指offer:滑动窗口最大值
文章目录 暴力做法 单调队列 题目来源 暴力做法 直接遍历所有的滑动窗口,分别判断最大值. 时间复杂度O(n * k) 空间复杂度O(n) class Solution {public:// 时间复杂 ...
- Leetcode1703. 得到连续 K 个 1 的最少相邻交换次数[C++题解]:难(货仓选址加强版+滑动窗口+前缀和)
文章目录 题目分析 题目链接 题目分析 首先需要明确一点:最优结果中1的相对位置和开始时不会改变.否则的话就是交换两个1,会徒劳增加交换次数. 比如[1,0,0,0,0,0,1,1],最后变成[0,0 ...
- 904. 水果成篮(滑动窗口)模板题
在一排树中,第 i 棵树产生 tree[i] 型的水果. 你可以从你选择的任何树开始,然后重复执行以下步骤: 1,把这棵树上的水果放进你的篮子里.如果你做不到,就停下来. 2,移动到当前树右侧的下一棵 ...
- 牛客 - 牛牛的滑动窗口(单调栈+思维+差分)
题目链接:点击查看 题目分析:给出 nnn 个数,定义滑动窗口的贡献是其中最大值与最小值的乘积,现在问对于长度分别为 [1,n][1,n][1,n] 的滑动窗口,贡献之和分别是多少 题目分析:考虑暴力 ...
最新文章
- bzoj 1962: 模型王子
- 在项目中使用 calendar_date_select
- mysql 有一组经纬度 返回在某个区域内_Qt编写地图综合应用17-地址经纬度互转
- 桔子浏览器电脑版如何登录 桔子浏览器PC版账号登录教程
- latex 图片大小_用LaTeX写作业——插入图片(二)
- MySQL查询优化--细节理论
- 数据库相关概念与编程使用方式
- 20135234mqy-——信息安全系统设计基础第七周学习总结
- markdown新手入门使用指南
- 抢Google等巨头生意,纽约大学小伙挖掘并出售自己数据
- python猜拳小游戏_Python入门猜拳小游戏
- python pip install pil_python安装PIL库
- 关于下载《Java程序员,上班那点事儿》的电子版
- C++编写木马全过程
- android 小视频添加水印,安卓手机怎么给视频加水印 视频加水印的手机软件|微信小视频怎么加水印...
- 超直线能否用于真实物理空间?
- uniapp-小程序点击底部导航跳转并刷新页面
- 笔记本计算机拆开视频,Designer笔记本电脑的视频电路拆解
- 通讯工程有必要考计算机二级吗,通信工程专业学生注意 你需要考这些证书!...
- Anaconda安装OpenBLAS
热门文章
- Type is unsupported, or the types of the items don‘t match field type in CollectionDef.
- centos7自带流量监控软件iftop
- Go 系列教程 —— 26. 结构体取代类
- Asp.Net MVC学习总结(三)——过滤器你怎么看?
- android面试(4)---文件存储
- 智能家居系统通信方式,主要有以下四种
- 12.2. 如果你不习惯使用firewalld想用回Iptables
- 第41天:匀速、缓动运动和图片无缝滚动
- 如何做实时监控?—— 参考 Spring Boot 实现
- 无锁编程(三) - 忙等待