摘要:
预处理一下每个元素左边和右边最近的相邻元素。对于一个区间[l, r]和区间内某一个元素,这个元素在这个区间唯一当且仅当左右两边最近的相邻元素不在这个区间内。这样就可以O(1)完成查询。首先查找整个字符串是否有唯一元素,如果没有则整个序列是无聊的。有的话,假设这个唯一元素下标是p,那么如果子序列[0,... 阅读全文
摘要:
首先预处理一下以每个数为结尾的前s个数是否能构成一个1~s的排列。可以用cnt数组来记录每个数出现的次数和用一个变量记录一共有多少个不同的数出现。然后枚举每种可能的情况,也就是枚举第一首歌会出现的位置,注意要考虑到不完整的序列。代码不长,但是那个ok数组写起来有点蛋疼,因为要考虑到不完整序列的存在,... 阅读全文