题意非常简单易懂,对于涨姿势0,数据非常小,比较容易想到的是直接循环暴力解题完成任务.把数据放入数组arr,循环i,j控制所有区间算和.结果记入vis. 到了涨姿势1,2,3,我们观察数据变化,发现数据变大,0的姿势就会超时.这是我们可以用前缀数组和处理.用sum[i]表示0~i项的和,那么区间i~j的和就可以用sum[j]-sum[i]直接运算得出.而sum数组可以在输入时就处理获得,避免了获得i~j时每次计算一次和造成的时间消耗. 构建sum数组 预处理,ans计数. 到了涨姿势2,去掉了每…