首页 > 环鸽的CHONG
头像 精神病科黄主任
发表于 2020-05-17 16:06:04
思路:如果在区间[l,r]之间有一个位置p,a[p]是唯一的,那么容易知道,左端点取[l,p-1],右端点取[p+1,r]都满足要求 即都是好序列,那么只需要考虑两个区间是不是分别满足子区间都是好序列都可以。所以处理出来离每个数字左右两端最近的位置,dfs即可。 #include<bits/s 展开全文
头像 18duangduang
发表于 2020-05-20 20:02:48
题目大意:给定n个元素的序列,判断序列的所有连续的子序列是否全是好序列。好序列:序列存在唯一元素-------存在 满足序列中其他所有元素 , . 分析:考虑对区间进行分治.首先是最大的区间 我们需要找到区间内唯一的元素,假如位置为 ,那么连续区间的左端点在选取,区间右端点在选取,所构成的区间一定 展开全文
头像 fuzhiji
发表于 2020-05-17 23:49:39
由于要求全部子区间都存在唯一元素,所以最初可以判断 是否符合,直接暴力for,然后记录只出现一次的元素的下标,存进一个vector里面,我们可以发现,只要包含唯一元素的区间,肯定符合条件,因为在区间 唯一,所以其他区间该元素肯定也唯一,就像分治一样,以这些唯一元素为分界点,递归其剩余区间。例如区间 展开全文

等你来战

查看全部