这里会显示出您选择的修订版和当前版本之间的差别。
2020-2021:teams:too_low:cfedu94cy [2020/08/28 17:12] member 创建 |
2020-2021:teams:too_low:cfedu94cy [2020/08/28 17:13] (当前版本) member |
||
---|---|---|---|
行 6: | 行 6: | ||
**题解:**先求出所有满足$a_i = a_j ,i<j$的二元组,然后二维前缀和求和即可。(不开longlong 见祖宗) | **题解:**先求出所有满足$a_i = a_j ,i<j$的二元组,然后二维前缀和求和即可。(不开longlong 见祖宗) | ||
+ | <hidden> | ||
<code cpp> | <code cpp> | ||
#include <algorithm> | #include <algorithm> | ||
行 74: | 行 74: | ||
} | } | ||
</code> | </code> | ||
+ | </hidden> | ||
===== E ===== | ===== E ===== | ||
行 79: | 行 80: | ||
**题解:**开始想成dp写到后面发现完全不是dp就是一个贪心,对于一个区间的积木,要么一个个的全都去掉,要么让最小值直接去掉,然后递归计算两边。由于要取区间最小值,所以我当时写了个线段树,后来发现完全不需要,这个不是个dp,整个复杂度不是$n^2$,因为每次贪心会使得区间长度减一,所以复杂度是$O(n)$的,所以即便是暴力取最小值,也不过是$n^2$的复杂度,完全可以过。(所以这题数据范围还可以加强) | **题解:**开始想成dp写到后面发现完全不是dp就是一个贪心,对于一个区间的积木,要么一个个的全都去掉,要么让最小值直接去掉,然后递归计算两边。由于要取区间最小值,所以我当时写了个线段树,后来发现完全不需要,这个不是个dp,整个复杂度不是$n^2$,因为每次贪心会使得区间长度减一,所以复杂度是$O(n)$的,所以即便是暴力取最小值,也不过是$n^2$的复杂度,完全可以过。(所以这题数据范围还可以加强) | ||
+ | <hidden> | ||
<code cpp> | <code cpp> | ||
#include <algorithm> | #include <algorithm> | ||
行 166: | 行 167: | ||
} | } | ||
</code> | </code> | ||
+ | </hidden> |