HDU - 3506

思路:

平行四边形不等式优化dp

这不就是石子归并(雾

代码:

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define y1 y11
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
#define LD long double
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<int, pii>
#define pdd pair<long double, long double>
#define mem(a, b) memset(a, b, sizeof(a))
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//head const int N = 2e3 + ;
int a[N], sum[N], n;
int dp[N][N], s[N][N];
int main() {
while(~scanf("%d", &n)) {
for (int i = ; i <= n; ++i) scanf("%d", &a[i]), a[i+n] = a[i];
for (int i = ; i <= *n; ++i) sum[i] = sum[i-] + a[i];
for (int i = *n; i >= ; --i) {
dp[i][i] = ;
s[i][i] = i;
for (int j = i+; j <= *n; ++j) {
dp[i][j] = 0x7f7f7f7f;
for (int k = s[i][j-]; k <= s[i+][j]; ++k) {
if(k+ <= j && dp[i][k]+dp[k+][j]+sum[j]-sum[i-] < dp[i][j]) {
dp[i][j] = dp[i][k]+dp[k+][j]+sum[j]-sum[i-];
s[i][j] = k;
}
}
}
}
int ans = dp[][n];
for (int i = ; i+n- <= *n; ++i) ans = min(ans, dp[i][i+n-]);
printf("%d\n", ans);
}
return ;
}

最新文章

  1. AngularJS_01之基础概述、设计原则及MVC设计模式
  2. spring boot(三):Spring Boot中Redis的使用
  3. linux下vi命令大全[转]
  4. mkdir:批量创建文件夹
  5. Hadoop 2.4.1 Map/Reduce小结【原创】
  6. Android程序启动程序与页面的跳转
  7. C线程同步/异步
  8. 读书笔记 effective c++ Item 32 确保public继承建立“is-a”模型
  9. oracle配置监听图形界面不出来解决方法
  10. ICC_lab总结——ICC_lab4:时钟树综合
  11. 关于close和shutdown
  12. 验证码 jsp
  13. Openstack_O版(otaka)部署_镜像服务glance部署
  14. Intellij IDEA插件开发入门
  15. 巩固java(一)----java与对象
  16. C# - 操作符
  17. Domain logic approachs
  18. Windows PowerShell基本语法及常用命令
  19. 让VCL的皮肤用在手机程序里 让安桌程序不山寨[转]
  20. spec文件写作规范

热门文章

  1. 关于RNN(Recurrent Neural Network)的一篇文章
  2. CF1190D Tokitsukaze and Strange Rectangle
  3. 《你必须知道的495个C语言问题》读书笔记之第15-20章:浮点数、风格、杂项
  4. ValueError: row index was 65536, not allowed by .xls format
  5. shell如果文件夹不存在则创建
  6. 题目13 在O(1)时间删除链表节点
  7. Dijstra_优先队列_前向星
  8. FastAdmin
  9. 系统学习机器学习之神经网络(三)--GA神经网络与小波神经网络WNN
  10. 计算机概论 64bit和32bit的CPU的不同