codevs 1154 能量项链(区间dp)
来源:互联网 发布:织梦分类信息源码 编辑:程序博客网 时间:2024/06/05 22:57
题目链接:点这里!!!!
题解:
因为是环形,我们就把长度扩大一倍。
然后我们设dp[i][j]表示消除i~j区间剩余a[i]的最大值为多少?
则转移方程:dp[i][j]=max(dp[i][k],dp[k+1][j]+a[i]*a[k+1]*a[j])。
代码:
#include<cstdio>#include<cstring>#include<iostream>#include<sstream>#include<algorithm>#include<vector>#include<bitset>#include<set>#include<queue>#include<stack>#include<map>#include<cstdlib>#include<cmath>#define LL long long#define pb push_back#define pa pair<int,int>#define clr(a,b) memset(a,b,sizeof(a))#define lson lr<<1,l,mid#define rson lr<<1|1,mid+1,r#define bug(x) printf("%d++++++++++++++++++++%d\n",x,x)#define key_value ch[ch[root][1]][0]#pragma comment(linker, "/STACK:102400000000,102400000000")const LL MOD = 1000000007;const int N = 200+15;const int maxn = 1e5+15;const int letter = 130;const LL INF = 1e7;const double pi=acos(-1.0);const double eps=1e-10;using namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}int n,dp[N][N],a[N];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",a+i),a[i+n]=a[i]; for(int len=2;len<=2*n;len++){ for(int i=1;i<=2*n;i++){ int j=i+len-1; if(j>2*n) break; for(int k=i;k<j;k++){ dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+a[i]*a[k+1]*a[j+1]); } } } int max1=0; for(int i=1;i<=n;i++) max1=max(max1,dp[i][i+n-1]); printf("%d\n",max1); return 0;}
0 0
- 【CODEVS 1154】能量项链(区间DP)
- codevs 1154 能量项链(区间dp)
- codevs 1048能量项链(区间DP)
- codevs 1154 能量项链
- codevs 1154 能量项链
- CODEVS 1154能量项链
- CODEVS 1154 能量项链
- Codevs 1154 能量项链
- codevs 1154 能量项链
- codevs 1154 能量项链
- 【codevs 1154】能量项链
- wikioi 1154 - 能量项链 (环形区间dp)
- code(vs) 1154 能量项链 (区间dp)
- codevs 天梯 能量项链 dp
- codevs1154 能量项链(区间DP)
- [noip2006]能量项链 区间DP
- HZNU-能量项链【区间dp】
- Codevs1154[能量项链] 区间DP
- 复杂链表的复制 java
- 华为OJ——MP3光标位置
- 关于游戏设计的原则
- 细说JavaScript单线程的一些事
- hdu1874 畅通工程续(最短路)
- codevs 1154 能量项链(区间dp)
- 华为OJ——查找两个字符串a,b中的最长公共子串
- 【MFC】1.Windows程序内部运行原理
- qt入门hello world
- sqlite 数据库 时间函数及示例
- Codeforces Round #362 (Div. 2) B. Barnicle
- Weka算法Classifier-tree-RandomForest源码分析(二)代码实现,randomforest
- 找负环 bellman ford 算法
- 如何访问数据库中的数据