萌新求助

P1063 [NOIP2006 提高组] 能量项链

您不能用`using namespace std;`吗
by andyli @ 2019-01-11 22:40:20


您既不scanf也不printf为什么要cstdio呢
by SSerxhs @ 2019-01-11 22:59:43


@[杨亦诚斗橡皮](/space/show?uid=66287) 看着`std::`就蛋疼... 真想装×`using std::cin;` `using std::cout;`啊
by Rbu_nas @ 2019-01-11 23:13:12


``` for (int i=1; i<=2*n-1; ++i) dp[i][i]=0; ``` 这句有意义吗?
by Qiuly @ 2019-01-12 07:32:48


@[Qiuly](/space/show?uid=113190) 当我没说
by Qiuly @ 2019-01-12 07:33:52


给你个正解自检下呗 ```cpp #define LL long long #define mod 1000000007 #define inf 0x7ffffff const int MAXN=200+5; int head[MAXN],tail[MAXN],f[MAXN][MAXN]; using namespace std; int main() { int n,ans=-inf; scanf("%d",&n); for(int i=1;i<=n;i++) {scanf("%d",&head[i]);head[i+n]=head[i];} for(int i=1;i<=2*n-1;i++) tail[i]=head[i+1];tail[2*n]=head[1]; for(int i=1;i<=2*n-1;i++)f[i][i]=0; for(int l=1;l<=n-1;l++) for(int i=1;i<=2*n-l;i++) { int j=i+l; for(int k=i;k<=j-1;k++) f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+head[i]*tail[k]*tail[j]); } for(int i=1;i<=n;i++) ans=max(ans,f[i][i+n-1]); printf("%d",ans); return 0; } ```
by Qiuly @ 2019-01-12 07:34:31


嗯,你可能没记tali数组然后**WA**了
by Qiuly @ 2019-01-12 07:35:32


@[SSerxhs](/space/show?uid=29826) 好习惯,考场上防止漏写(我讨厌万能头)
by 樱初音斗橡皮 @ 2019-01-12 08:23:06


@[Qiuly](/space/show?uid=113190) 窝的tail直接head下标+1,仔细看,我其实triple了head
by 樱初音斗橡皮 @ 2019-01-12 08:27:26


```cpp tail[2*n]=head[1]; ```
by Qiuly @ 2019-01-12 09:22:00


| 下一页