HDU - 3506 Monkey Party
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相关推荐
- HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)
HDU 1069(动态规划) Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- HDU 1512 Monkey King 左偏树 + 并查集
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1512 题意:有n个猴子,一开始每个猴子只认识自己.每个猴子有一个力量值,力量值越大表示这个猴子打架越厉害. ...
- HDU 1512 Monkey King(左偏树+并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1512 题 意: 有n个猴子,一开始每个猴子只认识自己.每个猴子有一个力量值,力量值越大表示 ...
- 三维最长上升子序列问题——HDU 1069 Monkey and Banana
题目: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a ...
- HDU 1069 Monkey and Banana(简单图解,经典DP,最大上升子序列变形)
题目链接 今天做的第二题,感觉比较经典,详细记录一下吧! Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- hdu(1069)——Monkey and Banana(LIS变形)
题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...
- ZOJ 2334 HDU 1512 Monkey King
题意: 猴子们打架 认识的猴子不会打架 两仅仅猴子打完以后就认识了 A认识B B认识C A也认识C 每次打架由两伙猴子进行 分别选出自己的最高战斗力 在战斗之后两仅仅猴子战斗力减半 给出 ...
- hdu 1069 Monkey and Banana (LIS)
Problem - 1069 随便找到的一道题目. 题意是给出一些的长方体,长方体可以用任意次数,可以任意翻转.如果一个长方体可以叠在另一个长方体上,条件是这个长方体的长和宽严格小于另一个长方体的长和 ...
- hdu 1512 Monkey King 左偏树
这题意思是一群一开始互不认识的猴子,可能会打架,打过一场就是朋友,一开始互不相识的猴子打架的时候,不一定自己动手,回去找自己朋友中战斗力最强的猴子,然后,两个打手打架,当然,如果自己最NB时,自己上, ...
- HDU 1512 Monkey King(左偏堆)
爱争吵的猴子 ★★☆ 输入文件:monkeyk.in 输出文件:monkeyk.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] 在一个森林里,住着N只好斗的猴子.开始,他们各 ...
最新文章
- 记一次Quartz重复调度(任务重复执行)的问题排查
- 关于self.用法的一些总结
- android8.1状态栏图标,Android 8.1 去掉 Launcher3 默认给 icon 增加的白边
- 7-55 空心字母金字塔 (10 分)
- dedecms手机站要同步pc站的图片
- python db2查询_如何将DB2查询转换为python脚本
- 让linux的SSH客户端也能记住服务器的密码
- psv黑商店pkgj最新版下载_e收银app下载安装_e收银软件最新版免费下载
- 网盘工具比较,以及自己开发的网盘工具[转]
- C#中winform怎么在线预览PDF,预览网上的PDF控件!不用安装Adobe PDF Reader等等其他,方案记录
- FileZilla查看站点隐藏文件
- 一篇文章带您秒懂地理标志商标注册
- Java处理MP3资料
- (8)echo 命令
- 鼠标宏编写脚本代码教程_PHP登录脚本代码和教程
- 财险商闭口不提交强险利润
- Markdown语法学习
- 与Xcode比照Adobe AIR开发iOS的优势和局限
- win10+1050ti+CUDA9.0+cudnn9.0的tensorflow-gpu环境搭建
- 《灵飞经》②东岛门人 第三章 遇难呈祥
热门文章
- PyTorch学习笔记——语言模型
- 排序算法之——希尔排序分析
- 白板推导系列Pytorch-隐马尔可夫模型-学习问题
- 性能优化是数据库应用的核心问题
- tensorflow2.报错与解决 Cannot convert a symbolic Tensor
- 稀疏矩阵转为稠密矩阵
- python log文件处理_Python 处理大Log文件
- nsis如何设置运行安装包传参_使用NSIS制作安装包
- Android Framework 全面分析 FallbackHome
- Android【报错】Description Resource Path Location Type AndroidManifest.xml file missing!