首页 > 代码库 > 【HDOJ】1500 Chopsticks
【HDOJ】1500 Chopsticks
DP。
1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 #include <iostream> 6 using namespace std; 7 8 #define MAXN 5005 9 #define MAXK 100510 #define INF 0x3f3f3f3f11 int a[MAXN];12 int s[MAXN];13 int dp[MAXN][MAXK];14 15 int main() {16 int n, K, t;17 int i, j, k;18 19 #ifndef ONLINE_JUDGE20 freopen("data.in", "r", stdin);21 #endif22 23 scanf("%d", &t);24 while (t--) {25 scanf("%d %d", &K, &n);26 K += 8;27 for (i=1; i<=n; ++i)28 scanf("%d", &a[i]);29 for (i=1; i<n; ++i)30 s[i] = (a[i+1]-a[i])*(a[i+1]-a[i]);31 memset(dp, 0x3f, sizeof(dp));32 for (i=0; i<=n; ++i)33 dp[i][0] = 0;34 for (j=1; j<=K; ++j) {35 for (i=n+1-3*j; i>0; --i) {36 dp[i][j] = min(dp[i][j], dp[i+2][j-1]+s[i]);37 dp[i][j] = min(dp[i][j], dp[i+1][j]);38 }39 }40 int ans = INF;41 for (j=1; j<=n; ++j)42 if (dp[j][K] < ans)43 ans = dp[j][K];44 printf("%d\n", ans);45 }46 47 return 0;48 }
【HDOJ】1500 Chopsticks
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。