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);
//headconst int N = 2e3 + 5;
int a[N], sum[N], n;
int dp[N][N], s[N][N];
int main() {while(~scanf("%d", &n)) {for (int i = 1; i <= n; ++i) scanf("%d", &a[i]), a[i+n] = a[i];for (int i = 1; i <= 2*n; ++i) sum[i] = sum[i-1] + a[i];for (int i = 2*n; i >= 1; --i) {dp[i][i] = 0;s[i][i] = i;for (int j = i+1; j <= 2*n; ++j) {dp[i][j] = 0x7f7f7f7f;for (int k = s[i][j-1]; k <= s[i+1][j]; ++k) {if(k+1 <= j && dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1] < dp[i][j]) {dp[i][j] = dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1];s[i][j] = k;}}}}int ans = dp[1][n];for (int i = 2; i+n-1 <= 2*n; ++i) ans = min(ans, dp[i][i+n-1]);printf("%d\n", ans);}return 0;
}

转载于:https://www.cnblogs.com/widsom/p/10954818.html

HDU - 3506 Monkey Party相关推荐

  1. HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)

    HDU 1069(动态规划) Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

  2. HDU 1512 Monkey King 左偏树 + 并查集

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1512 题意:有n个猴子,一开始每个猴子只认识自己.每个猴子有一个力量值,力量值越大表示这个猴子打架越厉害. ...

  3. HDU 1512 Monkey King(左偏树+并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1512 题       意: 有n个猴子,一开始每个猴子只认识自己.每个猴子有一个力量值,力量值越大表示 ...

  4. 三维最长上升子序列问题——HDU 1069 Monkey and Banana

    题目: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a ...

  5. HDU 1069 Monkey and Banana(简单图解,经典DP,最大上升子序列变形)

    题目链接 今天做的第二题,感觉比较经典,详细记录一下吧! Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...

  6. hdu(1069)——Monkey and Banana(LIS变形)

    题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...

  7. ZOJ 2334 HDU 1512 Monkey King

    题意: 猴子们打架  认识的猴子不会打架  两仅仅猴子打完以后就认识了  A认识B B认识C A也认识C  每次打架由两伙猴子进行  分别选出自己的最高战斗力  在战斗之后两仅仅猴子战斗力减半  给出 ...

  8. hdu 1069 Monkey and Banana (LIS)

    Problem - 1069 随便找到的一道题目. 题意是给出一些的长方体,长方体可以用任意次数,可以任意翻转.如果一个长方体可以叠在另一个长方体上,条件是这个长方体的长和宽严格小于另一个长方体的长和 ...

  9. hdu 1512 Monkey King 左偏树

    这题意思是一群一开始互不认识的猴子,可能会打架,打过一场就是朋友,一开始互不相识的猴子打架的时候,不一定自己动手,回去找自己朋友中战斗力最强的猴子,然后,两个打手打架,当然,如果自己最NB时,自己上, ...

  10. HDU 1512 Monkey King(左偏堆)

    爱争吵的猴子 ★★☆ 输入文件:monkeyk.in 输出文件:monkeyk.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] 在一个森林里,住着N只好斗的猴子.开始,他们各 ...

最新文章

  1. 记一次Quartz重复调度(任务重复执行)的问题排查
  2. 关于self.用法的一些总结
  3. android8.1状态栏图标,Android 8.1 去掉 Launcher3 默认给 icon 增加的白边
  4. 7-55 空心字母金字塔 (10 分)
  5. dedecms手机站要同步pc站的图片
  6. python db2查询_如何将DB2查询转换为python脚本
  7. 让linux的SSH客户端也能记住服务器的密码
  8. psv黑商店pkgj最新版下载_e收银app下载安装_e收银软件最新版免费下载
  9. 网盘工具比较,以及自己开发的网盘工具[转]
  10. C#中winform怎么在线预览PDF,预览网上的PDF控件!不用安装Adobe PDF Reader等等其他,方案记录
  11. FileZilla查看站点隐藏文件
  12. 一篇文章带您秒懂地理标志商标注册
  13. Java处理MP3资料
  14. (8)echo 命令
  15. 鼠标宏编写脚本代码教程_PHP登录脚本代码和教程
  16. 财险商闭口不提交强险利润
  17. Markdown语法学习
  18. 与Xcode比照Adobe AIR开发iOS的优势和局限
  19. win10+1050ti+CUDA9.0+cudnn9.0的tensorflow-gpu环境搭建
  20. 《灵飞经》②东岛门人 第三章 遇难呈祥

热门文章

  1. PyTorch学习笔记——语言模型
  2. 排序算法之——希尔排序分析
  3. 白板推导系列Pytorch-隐马尔可夫模型-学习问题
  4. 性能优化是数据库应用的核心问题
  5. tensorflow2.报错与解决 Cannot convert a symbolic Tensor
  6. 稀疏矩阵转为稠密矩阵
  7. python log文件处理_Python 处理大Log文件
  8. nsis如何设置运行安装包传参_使用NSIS制作安装包
  9. Android Framework 全面分析 FallbackHome
  10. Android【报错】Description Resource Path Location Type AndroidManifest.xml file missing!