线段树 + $hash$ 乱搞.
可以考虑用线段树维护区间的最小值,最大值.
若是等差数列,根据最小/大值,公差可以算出长度,区间元素和,区间元素平方和,区间元素立方和,后两个自然溢出.
在线段树中把这些信息也维护进去,然后查询区间的这些要素,看一下是否符合预期结果即可.
立方和不判似乎也可以过.这东西应该挺难卡的.
1 |
|
夢はここに 思い出は遠くに
线段树 + $hash$ 乱搞.
可以考虑用线段树维护区间的最小值,最大值.
若是等差数列,根据最小/大值,公差可以算出长度,区间元素和,区间元素平方和,区间元素立方和,后两个自然溢出.
在线段树中把这些信息也维护进去,然后查询区间的这些要素,看一下是否符合预期结果即可.
立方和不判似乎也可以过.这东西应该挺难卡的.
1 | #include <bits/stdc++.h> |