Unique Values 满足条件的区间数(双指针)
创始人
2025-05-28 19:11:38
0次

感觉双指针的主要思想就是就是摒弃显然已经被排除的一段

统计和为kkk的子矩阵,枚举区间右端点rrr,当[l,r][l,r][l,r]子段和超过k,lk,lk,l右移
因为显然[l,r]不能包含在满足要求的矩阵中(太大了),要缩小,摒弃掉l列以左的所有
双指针分别是区间左右端点[l,r][l,r][l,r],区间数res+=(r−l+1)res+=(r-l+1)res+=(r−l+1)

Unique Values(序列S中不含重复元素的连续子序列的数量)

这里要求是区间中不含重复元素,当出现重复元素(此时出现在下标i,上一次mp[a[i]])mp[a[i]])mp[a[i]])
要摒弃掉mp[a[i]]以左的元素,有个注意点,

  • 1、双指针分别是last和rlast和rlast和r,lastlastlast是上一段满足条件的区间段的最后一个元素,
    lastlastlast以左(包含lastlastlast)已经被摒弃掉了,如果根据mpmpmp判断出序列中之前有重复元素,
    要先判断该元素出现的上一个位置mp[a[i]]mp[a[i]]mp[a[i]]是否在lastlastlast之前,即已经被摒弃掉了
    如果已经被摒弃掉了就不需要考虑,否则才要摒弃掉mp[a[i]]mp[a[i]]mp[a[i]]及以左所有
  • 2、其次区间数res+=(r−last)res+=(r-last)res+=(r−last)
#include
using namespace std;
#define int long long int
mapmp;
const int N=1e5+10;
int n;
int a[N];
signed main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}int res=0;// 1 2 3 4int last=0;for(int i=1;i<=n;i++){if(mp[a[i]]){	if(mp[a[i]]>last)last=mp[a[i]];//2 12 3  12 3 2 6 9  遍历到最后一个2,last=第一个3}res+=(i-last);//last是上一段满足条件的区间段的最后一个元素mp[a[i]]=i;}	cout<

以下思路是对的,但是求(last,r]这段的子区间数量 方式不对,也不知道为啥不对,给的两个样例也都通过了
不过双指针求区间数量的常见做法都是 每次遍历(一个端点,左指针或右指针)时,利用左右指针相减

#include
using namespace std;
#define int long long int
mapmp;
const int N=1e5+10;
int n;
int a[N];
signed main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}int len=0;int res=n;int last=0;for(int i=1;i<=n;i++){if(mp[a[i]]==0||mp[a[i]]len++;mp[a[i]]=i;}else{len=i-mp[a[i]];// 1 2 3 4res+=(1+len)*len/2-len;last=mp[a[i]];mp[a[i]]=i;}}res+=(1+len)*len/2-len;cout<

在这里插入图片描述

相关内容

热门资讯

黑科技辅助!广西微乐小程序微信... 黑科技辅助!广西微乐小程序微信辅助器免费(辅助),微乐春天扑克总是真的是有透视挂app运广西微乐小程...
黑科技透视挂!手机微乐小程序自... 黑科技透视挂!手机微乐小程序自建房透视免费(透视挂),微乐红十切实真的是有透视挂方法1、每一步都需要...
黑科技作弊器!微乐小程序怎么挂... 黑科技作弊器!微乐小程序怎么挂脚本(作弊器),微乐松原麻将果然是有透视挂方法1)微乐小程序怎么挂脚本...
黑科技透视挂!收集微乐小程序游... 黑科技透视挂!收集微乐小程序游戏破解器(透视挂),微乐白银麻将竟然是有透视挂方法1、每一步都需要思考...
黑科技辅助!小程序微乐贵阳捉鸡... 黑科技辅助!小程序微乐贵阳捉鸡麻将挂(辅助),微乐小程序微乐游戏真是是有透视挂方法1、小程序微乐贵阳...
黑科技辅助!小程序微乐贵阳捉鸡... 黑科技辅助!小程序微乐贵阳捉鸡麻将挂(辅助),微乐小程序微乐游戏真是是有透视挂app一、小程序微乐贵...
黑科技辅助器!微信小程序微乐房... 黑科技辅助器!微信小程序微乐房间透视(辅助器),微乐棋牌麻将确实存在有透视挂工具1、完成微信小程序微...
黑科技作弊器!微乐小程序辅助器... 黑科技作弊器!微乐小程序辅助器免费(作弊器),微乐贵州麻将一直真的是有透视挂插件1、起透看视 微乐小...
黑科技作弊器!微乐小程序辅助开... 黑科技作弊器!微乐小程序辅助开发(作弊器),微乐红包控制尾数一贯存在有透视挂方法1、操作简单,无需微...
黑科技辅助!微乐小程序辅助工具... 黑科技辅助!微乐小程序辅助工具(辅助),微乐斗地主果然真的有透视挂插件微乐小程序辅助工具辅助器是一种...