[wikioi]能量项链
http://wikioi.com/problem/1154/
这是石子归并的加强版,基本就是分治法的DP。但是有了个环,因为任何一个位置都可开始,所以就建立2*N的数组,然后对可能的区间遍历一次,就是O(n^3)的复杂度。
中间错误的地方有:
# 把dp(i,j)错误写成F[i][j]
# k不能等于i,也不能等于j
# 把A[i]*A[k]*A[j]错写成i*k*j
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <memory.h>
#define MAX(a, b) a>b?a:b
#define LEN 105
using namespace std; int A[LEN*2];
int F[LEN*2][LEN*2];
int N; void init()
{
scanf("%d", &N);
for (int i = 1; i <= N; i++) {
scanf("%d", &A[i]);
A[i+N] = A[i];
}
for (int i = 1; i <= N*2; i++) {
for (int j = 1; j <= N*2; j++) {
F[i][j] = -1;
}
}
} int dp(int i, int j)
{
if (F[i][j] != -1) {
return F[i][j];
}
if (i == j || i+1 == j) return 0;
int max = 0;
for (int k = i+1; k <= j-1; k++) {
int tmp = dp(i, k) + dp(k, j) + A[i]*A[k]*A[j];
if (tmp > max) max = tmp;
}
F[i][j] = max;
return max;
} int main()
{
init(); int ans = 0;
for (int i = 1; i <= N; i++)
{
int tmp = dp(i, i+N);
ans = MAX(tmp, ans);
}
printf("%d\n", ans);
return 0;
}
[wikioi]能量项链的更多相关文章
- wikioi 1154 能量项链 (2006年NOIP全国联赛提高组)
题目描述 Description 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子 ...
- wikioi 1154 能量项链
题目描述 Description 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子 ...
- [题解]vijos & codevs 能量项链
a { text-decoration: none; font-family: "comic sans ms" } .math { color: gray; font-family ...
- NOIP2006能量项链[环形DP]
题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定 ...
- [codevs1154][COJ0177][NOIP2006]能量项链
[codevs1154][COJ0177][NOIP2006]能量项链 试题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这 ...
- TYVJ P1056 能量项链 Label:环状区间DP
做题记录:2016-08-16 20:05:27 背景 NOIP2006 提高组 第一道 描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头 ...
- tyvj 1056 能量项链 区间dp (很神)
P1056 能量项链 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2006 提高组 第一道 描述 在Mars星球上,每个Mars人都随身佩 ...
- 1154 能量项链[区间dp]
1154 能量项链 2006年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 在Ma ...
- 能量项链//区间DP
P1056 能量项链 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2006 提高组 第一道 描述 在Mars星球上,每个Mars人都随身佩 ...
随机推荐
- Magento网站如何添加一个可配置产品
有的产品,比如服装,同一件衣服有S.M.L.XL.XXL等尺码供客户选择,或者有多种颜色可以供客户选择,Magento中管这种有选项供客户选择的产品叫做可配置产品 (Configurable Prod ...
- 史上最全的JavaScript工作笔记
/* * JavaScript查看对象函数 */ function resultTest( obj ){ var resultTest = ''; $.each(obj,function(key,va ...
- android开发者博客二月Android Studio2.0测试
参考网页-http://android-developers.blogspot.com/2016/02/android-studio-20-beta.html Android Studio 2.0-B ...
- 使用Fragment实现类似TabHost标签栏的效果
在前几天,我写了篇<Android TabHost的使用>简单的介绍了其使用的方法,但是在实现的时候发现TabHost已经被官方遗弃了.虽然我觉得TabHost还是多好用的(可能因为我这种 ...
- Path类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Jquery为下拉列表动态赋值与取值,取索引
接触前端也不久对jquery用的也只是皮毛,写过去感觉能复用的发出来,大家指点下 1.下拉列表动态赋值 function initddlYear() { var mydate = new Date() ...
- iOS9的那些坑 — — WeiboSDK registerApp启动就崩溃
在升级Xcode7.2.1后,在App加载时直接崩掉,仔细看了,发现是在在注册微博SDK的时候报错: [WeiboSDK registerApp:WBAPPKey]; 查了很多资料,最后在github ...
- window redis 安装配置
1 下载 https://github.com/MSOpenTech/redis/releases 当前最新版本为 redis-2.8.21 下载的为zip包,下载连接为:https://gith ...
- VB,VBS,VBA,ASP可引用的库参考
文件系统对象相关: ("SCRIPTING.FILESYSTEMOBJECT") 字典相关: ("SCRIPTING.DICTIONARY") 脚本外壳相关: ...
- Eclipse使用Maven创建Web项目
一.Maven插件下载.jdk下载 1.maven下载地址: http://maven.apache.org/download.cgi 2.jdk下载地址: http://www.oracle.com ...