双指针
秘制函数
记录学习算法的过程
展开
-
AcWing 4394. 最长连续子序列(双指针)
#include<bits/stdc++.h>using namespace std;const int N=500010;int n,k,ll=1,rr=1,l=1,r=0,kk=0;int arr[N];int hasharr[1000010];int main(){ ios::sync_with_stdio(0); cin.tie(0); cin>>n>>k; for(int i=1;i<=n;i++){ cin>.原创 2022-04-06 17:07:34 · 155 阅读 · 0 评论 -
acwing.【判断子序列】(双指针)
#include<iostream>#include<set>#include<algorithm>using namespace std;int a[100100];int b[100100];int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>&.原创 2022-02-27 14:38:40 · 63 阅读 · 0 评论 -
acwing.【最长连续不重复子序列】(双指针算法)
定义两个指针分别指向最长连续不重复子序列的起始位置和终止位置。起始位置指向第一个元素,终止位置从1开始依次遍历,若当前终止位置的数值出现重复,就把起始位置的指针指向与当前终止位置数值相同的元素的下一个位置,再继续进行终止位置的遍历。期间不断计算起始位置到终止位置的距离,并更新最大长度,即可求出最长连续不重复子序列的长度。#include<iostream>#include<algorithm>using namespace std;int a[100100];i原创 2022-02-27 10:45:33 · 247 阅读 · 0 评论