本文主要是介绍孤独的数列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Sample Input
33 1 2 32 1 14 1 1 2 3
Sample Output
627
Hint
对于1 2 3,他有6个连续子序列"1","2","3","1,2","2,3","1,2,3",都是孤独的
对于1 1,他有3个连续子数列, "1" "1" "1,1" 其中"1,1"是不孤独的
对于1 1 2 3,他有10个连续子序列,其中除了"1,1", "1,1,2","1,1,2,3"是不孤独的外,剩下的都是孤独的
#include<cstdio>//尺取法
#include<cstring>
int d[100010],vis[100010];
int main()
{int T,i;long long res;scanf("%d",&T);while(T--){int n,left,right;res=0;scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&d[i]);memset(vis,0,sizeof(vis));left=1;right=2;vis[d[left]]=1;while(left<=right&&left<=n){ for(i=right;i<=n;i++){if(vis[d[i]])break;elsevis[d[i]]=1;}right=i;res+=right-left;vis[d[left]]=0;left++;}printf("%lld\n",res);}
}
这篇关于孤独的数列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!