$NOIP2006$ 题解报告

目录

$Luogu\ P1063$ 能量项链$(\ √\ )$

$Luogu\ P1064$ 金明的预算方案( )

$Luogu\ P1065$ 作业调度方案( )

$Luogu\ P1066$ $2^k$进制数( )


$Luogu\ P1063$ 能量项链

题目传送门

$DP$挺简单的,就$f[i][j]$表示从第$i$颗珠子合并到第$j$颗珠子的最大答案,暴力枚举转移即可

 1 #include<iostream>
 2 using namespace std;
 3 int head[205],tail[205],f[205][205]={0};
 4 int main(){
 5     int ans=0,n,i,t,j,k;
 6     cin>>n;
 7     for(i=1;i<=n;i++){cin>>head[i];head[i+n]=head[i];}
 8     for(i=1;i<=2*n-1;i++) tail[i]=head[i+1];tail[2*n]=head[1];
 9     for(i=1;i<=2*n-1;i++) f[i][i]=0;
10     for(t=1;t<=n-1;t++)
11       for(i=1;i<=2*n-t;i++){
12           j=i+t;
13           for(k=i;k<=j-1;k++)
14             f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+head[i]*tail[k]*tail[j]);
15       }
16     for(i=1;i<=n;i++) ans=max(ans,f[i][i+n-1]);
17     cout<<ans<<endl;
18     return 0;
19 }
代码戳这里

$Luogu\ P1064$ 金明的预算方案

题目传送门

 


$Luogu\ P1065$ 作业调度方案

题目传送门

 


$Luogu\ P1066$ $2^k$进制数

题目传送门

 

猜你喜欢

转载自www.cnblogs.com/THWZF/p/11781111.html