【链接】 链接

【题意】

在这里输入题意

【题解】

DP+斜率优化;
$D(x) = E(x^2)-E(x)^2$
其中$E(x)^2$这一部分是确定的。
因为总长是确定的,分成的段数又是确定的。
所以我们只要维护$E(x^2)$这一部分最小就可以了。
而最后答案又要乘上m^2
把E(X^2)的表达式写出来;
会发现就是在维护
$m*(s1^2+s2^2+...+sm^2)$最小
具体的
设dp[i][j]表示前i天分配了前j段路的$m*(s1^2+s2^2+..)$的最小值
dis[i]为距离的前缀和
$dp[i][j] = min(dp[i-1][x]+m*{(dis[j]-dis[x])}^2)$
复杂度是$O(N^3)$的。
然后考虑x

【错的次数】

在这里输入错的次数

【反思】

在这里输入反思

【代码】

#include <bits/stdc++.h>
#define ll long long
using namespace std; const int N = 3e3; int n,m,d[N+10];
ll dp[N+10][N+10];
int dl[N+10],h,t; ll sqr(ll x)
{
return x*x;
} double ju(int i,int x,int y)
{
double fenzi = dp[i-1][y]+m*sqr(d[y]) - (dp[i-1][x] + m*sqr(d[x]));
double fenmu = 2*m*(d[y]-d[x]);
return fenzi/fenmu;
} int main()
{
//freopen("F:\\rush.txt","r",stdin);
scanf("%d%d",&n,&m);
for (int i = 1;i <= n;i++)
{
scanf("%d",&d[i]);
d[i]+=d[i-1];
}
for (int i = 0;i <= N;i++)
for (int j = 0;j <= N;j++)
dp[i][j] = 1e17; dp[0][0] = 0;
for (int i = 1;i <= m;i++)
{
h = 1,t = 1;
for (int j = 1;j <= n;j++)
{
while (h < t && ju(i,dl[h],dl[h+1]) < d[j]) h++;
dp[i][j] = min(dp[i][j],dp[i-1][dl[h]]+1LL*m*sqr(d[j]-d[dl[h]]));
while (h < t && ju(i,dl[t-1],dl[t]) > ju(i,dl[t],j)) t--;
t++;
dl[t] = j;
}
} printf("%lld\n",dp[m][n]-sqr(d[n]));
return 0;
}

最新文章

  1. phpstrom正则替换
  2. your local repository contains non-ascii
  3. 修正 XE6 TListView 上方 SearchBok 右边的清除钮显示
  4. 安卓、swiper标准的文字滚动
  5. apache2 多站点虚拟主机配置
  6. hdu1542矩阵的并 线段树+扫描线
  7. asp.net动态添加GridView的模板列,并获取列值
  8. exec、eval
  9. log4j中存在日志无法打印问题解决
  10. Filter过滤器实现登录检查
  11. Java设计模式之适配器模式(项目升级案例)
  12. 自己实现String.prototype.trim方法
  13. python入门(8)数据类型和变量
  14. java泛型总结(类型擦除、伪泛型、陷阱)
  15. 吴恩达机器学习笔记46-K-均值算法(K-Means Algorithm)
  16. app 性能
  17. 学习 Spring (八) 注解之 Bean 的定义及作用域
  18. IIS环境下部署https【转载】
  19. tomcat6和tomcat7管理用户manager配置
  20. openresty(完整版)Lua拦截请求与响应信息日志收集及基于cjson和redis动态路径以及Prometheus监控(转)

热门文章

  1. Atcoder ABC 071 C,D
  2. [lougu2243]双端队列搜索
  3. last---显示用户最近登录信息
  4. useradd---创建的新的系统用户
  5. 【习题 8-12 UVA - 1153】Keep the Customer Satisfied
  6. Exclusive or
  7. Oracle 11gR2光钎链路切换crs服务发生crash
  8. JavaScript全讲-架构原则解析
  9. 使用框架的php假设使用定时服务Cronjob
  10. Android学习笔记进阶18之画图并保存图片到本地