NOIP2006能量项链
2016-11-05 20:35
225 查看
题目来源:https://www.luogu.org/problem/show?pid=1063
区间dp,记忆化搜索解决。
注意本题是环形dp,将环拆为链处理。
代码:
区间dp,记忆化搜索解决。
注意本题是环形dp,将环拆为链处理。
代码:
#include <cstdio> #include <iostream> #include <cstring> using namespace std; int f[1001][1001]; int a[10001]; int dp(int x,int y) { if(f[x][y]!=-1)return f[x][y]; if(x==y)return f[x][y]=0; if(y-x==1)return f[x][y]=a[x]*a[y]*a[y+1]; for(int i=x;i<y;i++)f[x][y]=max(f[x][y],dp(x,i)+dp(i+1,y)+a[x]*a[i+1]*a[y+1]); return f[x][y]; } int main() { int n;scanf("%d",&n); memset(f,-1,sizeof(f)); for(int i=1;i<=n;i++)scanf("%d",&a[i]); a[0]=a ; for(int i=n+1;i<=n*2+2;i++)a[i]=a[i%n]; int tot=0; for(int i=1;i<=n;i++) { for(int j=i;j<=i+n-1;j++) { tot=max(dp(i,j),tot); } } printf("%d",tot); return 0; }
相关文章推荐
- NOIP2006能量项链
- soj 11600 Pick It 矩阵连乘模型 动态规划 acdream 1208 qj的奇怪宝具 noip 2006 energy 能量项链
- [noip2006]能量项链 区间DP
- nefu269 noip2006能量项链【区间dp 环】
- 能量项链[NOIP2006提高组][Codevs 1154]
- COGS 116. [NOIP2006] 能量项链 解题报告
- 【NOIP2006】能量项链题解
- |洛谷|NOIP2006|动态规划|P1063 能量项链
- 能量项链 NOIP2006 Codevs1154
- NOIP2006 能量项链题解
- NOIP 2006 能量项链
- NOIP2006能量项链-dp
- 洛谷 P1063 [NOIP2006 T1] 能量项链
- NOIP2006能量项链[环形DP]
- noip2006提高组之能量项链
- NOIP2006提高组-能量项链
- 区间DP NOIP2006 能量项链
- 洛谷P1063 能量项链 [2006NOIP提高组]
- noip2006 能量项链 (区间dp)
- noip2006 day1 t1 能量项链