能量项链(NOIP2006)

deadrain 发表于 2007-08-16 23:44:45

用数组f[i,j]表示从第i个珠子到第j个珠子合并为一个珠子后,所释放的最大能量,用k表示断点。
状态转移方程为:f[i,j]:=max{ f[i,k]+f[k,j]+a[i]*a[k]*a[j]}

CODE:
-------------------------------------------
program p1312;
var
 a:array[1..100] of longint;
 f:array[0..100,0..100] of longint;
 i,j,k,t,v,u,n,max:longint;
begin
 readln(n);
 for i:=0 to n-1 do
  read(a[i]);
 fillchar(f,sizeof(f),0);
 for i:=2 to n do
 begin
  for j:=0 to n-1 do
  begin
   k:=(j+i) mod n;
   max:=0;
   for v:=j+1 to j+i-1 do
   begin
    u:=v mod n;
    t:=a[j]*a[u]*a[k]+f[j,u]+f[u,k];
    if t>max then max:=t;
   end;
   f[j,k]:=max;
  end;
 end;
 max:=0;
 for i:=0 to n-1 do
  if f[i,i]>max then max:=f[i,i];
 writeln(max);
end.
关键词(Tag): noip vijos


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定