摘要: void pre() { for(int i=1;i<=n;i++) f[i][0]=a[i]; int t=log(n)/log(2); for(int j=1;j<=t;j++) for(int i=1;i+(1<<j)<=n+1;i++) f[i][j]=max(f[i][j-1],f[i+( 阅读全文
posted @ 2022-02-26 20:06 __iostream 阅读(37) 评论(0) 推荐(0)
摘要: 给定一个长度为 N 的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过 M 的前提下,让“每段中所有数的最大值”之和最小。 试计算这个最小值 容易得到转移方程: \[ f(i)=\min_{0\le j<i,sum(i)-sum(j) \le m}\{f(j)+ \max_{j+1 阅读全文
posted @ 2022-02-26 16:58 __iostream 阅读(79) 评论(0) 推荐(0)