摘要: 斜率dp优化 阅读全文
posted @ 2020-03-17 21:51 晴屿 阅读(103) 评论(0) 推荐(0)
摘要: ```#include#include#include#includeusing namespace std;const int MAX = 1000+10;//dp[i][j]:把前 i 个数分成 j 段后能得到的序列的最小权值和//dp[i][j] = min( dp[k][j-1] + cost[i] - cost[k] - sum[k] *(sum[i] - sum[k]) ) ;//su... 阅读全文
posted @ 2020-03-17 20:35 晴屿 阅读(74) 评论(0) 推荐(0)
摘要: ```#include#include#include#includeusing namespace std;typedef long long ll;const int N=5e5+10;int n,m,c;int q[N];ll dp[N];ll sum[N];ll get_y(int j,int k){ return dp[j]+sum[j]*sum[j]-dp[k]-sum[k]*sum[... 阅读全文
posted @ 2020-03-17 19:41 晴屿 阅读(79) 评论(0) 推荐(0)
摘要: ```//f[i]表示所有将前i个任务处理完的方案,划分方案//属性为花费最小值//表示最后一批,枚举上一批,当上一批到1时,那么最后一批就是2到i//上一批到2时,那么最后一批就是3到i,上一批最多到i-1//上一批到j,那么最后一批就是j+1到i //前面的花费为f[j] //令执行时间前缀和为sumt,启动时间前缀和为sumc//那么最后一部分的花费为sumt[i]*(sumc[i]-sum... 阅读全文
posted @ 2020-03-17 16:32 晴屿 阅读(96) 评论(0) 推荐(0)