“滑动窗口”和上篇博客中介绍的“等价转换”一样也为一种算法优化的思想。同样,下面通过一个例子,来介绍这种思想。唯一的雪花(Uniquesnowflake,UVa11572)输入一个长度为n(n<=10^6)的序列A,找到一个尽量长的连续子序列AL~AR,使得该序列中没有相同的元素。在读完题目以后,我们不难有思路。最简单的思路就是,我们可以通过循环的方法,对每一个元素都找出一它为开头的最长序列
分类:
编程语言 时间:
2018-03-19 22:43:26
阅读次数:
327
题目大意: 一个数列a,找到一个尽量长的连续子序列 ax 到 ay,使得该系列中没有相同的元素,求数列长度 思路: 滑动窗口 每次判断窗口内是否有重复即可 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include ...
分类:
其他好文 时间:
2017-10-05 13:04:18
阅读次数:
171
https://vjudge.net/problem/UVA-11572 题意:输入一个长度为n的序列A,找到一个尽量长的连续子序列,使得该序列中没有相同的元素。 思路:很简单的题,也没啥好解释的了。 ...
分类:
其他好文 时间:
2017-01-27 20:10:27
阅读次数:
188
UVA 11572 唯一的雪花题意:给你从1到n的数组,要求求得其中的最长连续不重复子序列,经典的滑窗问题,方法是维护一个窗口,设置左框和右框,然后不断的进行维护和更新方法一:#include"iostream"#include"set"#include"cstring"#include"cstdi...
分类:
编程语言 时间:
2015-08-05 18:15:17
阅读次数:
157
该题给一个序列,让我们判断是不是不无聊序列(如果不明白请看样例), 我们可以将区间从大到小不断压缩来确定答案,首先要确定一个区间是否满足要求,只要看这个区间里是不是有一个只出现一次的数,受前面《唯一的雪花》一题的启发,我们可以在O(n)时间内求出当前数离他最近的与他相同的数的位置,用数组保存,那么可以在O(1)的时间快速判断,这样就将时间复杂度降到O(n^2) 但是这样还是不够的,会超时。
紫...
分类:
其他好文 时间:
2015-07-04 11:21:00
阅读次数:
171