Educational Codeforces Round 66 F 题意:长度为 n 的序列,求有多少个区间 \([l,r]\) ,使得其构成了一个 1~r-l+1 的排列. \(n \le 3*10^5, a_i \le n\) key:随机权值 合法区间中肯定包含 1 ,并且最大值就是长度.先考虑最大值在 1 的右边的情况,可以枚举每个 1 的右边,记录最大值 x ,此时需要检查 \([r-x+1,r]\) 这个区间是否是一个排列.最大值在 1 左边的情况同理. 考虑 hash :给 1~n…