博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
石子合并加强版
阅读量:6611 次
发布时间:2019-06-24

本文共 746 字,大约阅读时间需要 2 分钟。

这里写图片描述

这里写图片描述

数据范围

对于 20%的数据,n=5
对于 60%的数据,n<=80
对于 100%的数据,n<=400

60分的做法:与石子合并一样,枚举起点,终点,第一个断点,第二个断点。时间复杂度O(n^4)。

100分做法:

用另一个数组f2[i][j]来优化,f2[][]是合并两堆最小(不过要用f[][]来更新),就可以降到O(n^4)。

#include
#include
#include
#include
#define LL long long#define M 1000000000using namespace std;int n,a[409];int f[409][409],f2[409][409],s[409];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]),s[i]=s[i-1]+a[i]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) f[i][j]=M,f2[i][j]=M; for(int i=n;i;i--) { f[i][i]=0; f[i][i+2]=s[i+2]-s[i-1]; for(int j=i+3;j<=n;j++) { for(int k=i;k

转载于:https://www.cnblogs.com/dfsac/p/7587798.html

你可能感兴趣的文章
《Gamestorming》读书笔记
查看>>
域名和网址链接被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决
查看>>
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(二)
查看>>
ubuntu下安装jdk
查看>>
C/S与B/S架构比较
查看>>
XML学习总结(2)——XML简单介绍
查看>>
python操作数据库-安装
查看>>
vs.net删除转移文件
查看>>
你真的了解interface和内部类么
查看>>
java中常用的类型转换
查看>>
【log4j】使用Log4j?,slf4j更轻巧高效
查看>>
kuangbin专题七 POJ3264 Balanced Lineup (线段树最大最小)
查看>>
JS动画效果链接汇总
查看>>
父类转为子类涉及到的安全问题
查看>>
网络流,流水线模拟
查看>>
知识点笔记
查看>>
陈云川的OPENLDAP系列
查看>>
django 模型-----自连接
查看>>
P1197 [JSOI2008]星球大战
查看>>
urllib模块
查看>>