2020 ICPC 線上模擬賽 E題 Eat Walnuts(區間dp)
E Eat Walnuts
思路
簡單的區間dp,注意邊界值不能選,i>j部分應初始化為0(而不是INF)
程式碼
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e2 + 10;
const int INF = 5e8 + 10;
int a[maxn];
int dp[maxn][maxn];
int power(int x){
return x * x;
}
int main(){
int n;
while(scanf("%d", &n)!=EOF){
for(int i = 1; i <= n; i++){
scanf("%d", &a[i]);
}
for(int i = 1; i <= n; i++){
for(int j = i; j <= n; j++){
dp[i][j] = INF;
}
}
for(int i = 2; i <= n - 1; i++){///區間長度為1
dp[i][i] = power(a[i - 1] + a[i] + a[i + 1]);
}
for(int len = 2; len <= n - 2; len++){///區間長度,開區間,不包括兩個端點
for(int s = 2; s + len - 1 <= n - 1; s++){
int e = s + len - 1;
for(int k = s; k <= e; k++){
dp[s][e] = min(dp[s][e], dp[s][k - 1] + dp[k + 1][e] + power(a[s - 1] + a[k] + a[e + 1]));
}
}
}
printf("%d\n", dp[2][n - 1]);
}
return 0;
}
相關文章
- Eat Walnuts(區間dp)
- 2020 ICPC 線上模擬賽 I題 Character Wheels(模擬)
- 2020 ICPC 上海賽區
- ACM-ICPC 2018 南京賽區網路預賽__E AC Challenge【狀態壓縮+DP】ACM
- ACM-ICPC 2018 南京賽區網路預賽 __G Lpl and Energy-saving Lamps【線段樹+模擬】ACMLAMP
- 2024ICPC武漢邀請賽E. Boomerang 題解OOM
- 2020/11/22模擬賽
- 模擬賽雜題
- 2018 ICPC南京區域賽題解 更新至 8 題
- C240817D. 模擬賽:樹上dp(以i為起點)+set操作
- 區間dp
- 10.31 模擬賽題解
- 區間dp 合併石子問題
- 【DP】區間DP入門
- NOIP 模擬賽(10.10):植物收集,美麗子區間,字元序列字元
- ACM-ICPC 2018 南京賽區網路預賽__K The Great Nim Game【博弈論+費馬小定理+DP】ACMGAM
- 【某NOIP模擬賽T2 - 旅遊】--線段樹最佳化 DP 的魅力
- CF1851E. Nastya and Potions 題解 DAG上的DPAST
- 10.6 模擬賽(NOIP 模擬賽 #9)
- acm-(區間dp、迴文串、子序列)ICPC SG Preliminary Contest 2018 C - Making PalindromesACM
- 動態規劃 區間dp 基礎題動態規劃
- 【題解】「CSP模擬賽」雨天 rainAI
- ACM-ICPC 2018 徐州賽區網路預賽ACM
- 模擬賽
- 區間問題(非DP型別)及變形型別
- ACM-ICPC 2018 瀋陽賽區網路預賽ACM
- ACM-ICPC 2018 徐州賽區網路預賽 I. Characters with Hash【簽到題】ACM
- [題解]NOIP2018模擬賽 plutotree
- 2024.10.17 模擬賽T3 題解
- BNDS 2024/4/6模擬賽題解
- 【區間dp】石子合併
- 11.26 模擬賽
- 20241016 模擬賽
- 11.11模擬賽
- 模擬賽 2
- 1114模擬賽
- 11.27 模擬賽
- 11.22 模擬賽