前缀和
吹梦到西周啊啊啊
纵有千古,横有八荒;前途似海,来日方长。
展开
-
CF467C. George and Job(前缀和+DP)
George and Job题意:给定一个数组,从中选择k个长为m的子段(不重叠),使和最大分析:f(i,j) 前i个数中选j个长为m的子段转移方程:当前i不选,继续沿用i-1的值 或者 选最后m个组成一个子序列dp[i][j]=max(dp[i−1][j],dp[i−m][j−1]+sum[i]−sum[i−m])dp[i][j]=max(dp[i-1][j],dp[i-m][j-1]+sum[i]-sum[i-m])dp[i][j]=max(dp[i−1][j],dp[i−m][j−1]+su原创 2020-05-27 22:21:56 · 258 阅读 · 0 评论 -
CF466C Number of Ways(前缀和,双指针)
Number of Ways题意:将一个数组分成连续的三段,有几种分法可以使三段和相等分析:因为要求和,所以肯定要前缀和(雾),遍历数组,如果当前和等于sun[n]/3,则这个位置可以为i,如果当前和等于sum[n]/3*2,则这个位置可以为j,答案加上这之前可以为i的数量(好像也不算是双指针吧)Code:#include <bits/stdc++.h>using namespace std;#define ll long long#define pii pair<int,原创 2020-05-25 21:58:11 · 269 阅读 · 0 评论 -
CF 1278C Berry Jam (前缀和+map)
题目传送2改为-1计算,an[]存前缀和,将位置存入map,再遍历n到2n,an[i]-an[2*n]表示1到最后之间的差值的相反数,在map中找到这个值,更新答案。我这渣渣语文表述,详见代码:#include <iostream>#include <map>#include <algorithm>using namespace std;const...原创 2020-03-17 23:07:47 · 203 阅读 · 0 评论