这题用尺取法是怼不出来的... 一开始看到区间和等于k的幂,并且有负数,首先想到将前缀和排序后用尺取法,但因为排序后的前缀和次序是乱的,只适用带绝对值的情况(poj2566),所以无法做. 看了题解后发现其实是个简单的dp //sum[r]=sum[l]+kk; //ans+=mp[sum[i]-kk];其实是个dp #include<bits/stdc++.h> using namespace std; #define ll long long #define maxn 100005 int…