前缀和做法 使用一个 dpdpdp 数组记录前缀和,dpidp_idpi 表示在 [0,i][0,i][0,i] 中有多少个点。 枚举起点 iii 即可得到线段终点 i+k−1i+k-1i+k−1 , 使用 dpi+k−1−dpi−1dp_{i+k-1}-dp_{i-1}dpi+k−1−dpi−1 即可得到这段中的点的数量 本题做法很多,双指针也可做,随便乱搞就行,复杂度都一样 #include<bits/stdc++.h> using namespace std; int dp[1100000] , n , k; int main() { scanf("%d%d...