https://codeforces.com/problemset/problem/1677/A
大致题意:给定1~n的全排列,求该排列中有多少对{a,b,c,d}满足
很明显的一个思路是遍历c,再遍历a,求c~n与a+1~c-1的区间内有多少对b、d
a、c的遍历时间复杂度已经是,故b、d的统计需要O(1)解决
b和d属于两个区间,故易想到O(n)预处理前缀和,O(1)得出区间和,比较难想到的是,在遍历a或c的时候调整f
1 |
|
其中,a分割出的区间暂时不需要,故用前缀和,而c分割出的区间永远不需要,故直接更新f