
双指针
双指针
*DDL_GzmBlog
再见锋芒,准备启程
展开
-
[Acwing|蓝桥杯] 1238. 日志统计 双指针+滑动窗口思想
前言传送门 :题意给你时间和出现次数, 问你在一个时间区段内出现次数不少于kkk的数维护区间的问题,很显然像一个滑动窗口,但是这里并不需要维护区间的最大最小值我们只需要维护一个区间即可,所以我们可以使用双指针进行维护区间,当前的数超出了区间范围,我们只需要移动指针即可CODEconst int N = 1e5+10;int n,d,k;pii num[N];int cnt[N];bool st[N];void solve(){ cin>>n>>原创 2022-02-24 14:23:04 · 8305 阅读 · 0 评论 -
[Acwing] 799. 最长连续不重复子序列 双指针
前言传送门 :思路使用sss数组,记录当前所选取的区间出现的各个数出现的次数如果当前需要选的数重复了,那么就移动后面的指针Mycodeconst int N = 1e5+10;int a[N],res;int s[N];void solve(){ int n;cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1,j=1;i<=n;i++){ s[a[i]] ++; whi原创 2022-03-29 14:04:35 · 146 阅读 · 0 评论 -
[Acwing] 双指针 2816. 判断子序列
目录前言思路code:错误的思路前言基础 不打牢 今朝见鬼神(我是牛马 呜呜呜)思路通过 i 指针循环一遍 b 数组然后通过 j (j = 1) 遍历 a 数组当且 仅当 (j<=n 且 a[j] == b[i]) 的时候 j++j<=n 是避免 重复跳动 j++(最后就是 控制输出 因为 j从一开始 所以输出的时候 需要用 n+1 判断 )总所周知 1+2 =3 而不是 1+2 = 2code:#include <bits/stdc++.h>原创 2021-06-21 15:24:58 · 171 阅读 · 0 评论