TYVJ 1125 JR's chop 解题报告
2011-08-13 23:52
260 查看
这题比较悲剧吧,始终只有80分,到最后才发现数组开销了一个1,应该是[101][51],我开的[101][50],然后。。。。80分咯~
代码如下:
代码如下:
#include <stdio.h> #include <stdlib.h> #define min(a, b) (((a)<(b))?(a):(b)) int num[101]; int f[101][51]; int com(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main(int argc, char **argv) { int i, j; int n, k; scanf("%d%d", &n, &k); k += 3; if(n < 2 * k){ printf("-1\n"); return 0; } for(i = 1; i <= n; i++){ scanf("%d", &num[i]); } qsort(&num[1], n, sizeof(int), com); for(i = 0; i <= n; i++){ f[i][0] = 0; for(j = 1; j <= k; j++){ f[i][j] = 0xFFFFFFF; } } for(i = 2; i <= n; i++){ for(j = 1; j <= min(i / 2, k); j++){ if((f[i - 2][j - 1] + (num[i] - num[i - 1]) * (num[i] - num[i - 1])) < f[i - 1][j]){ f[i][j] = f[i - 2][j - 1] + (num[i] - num[i - 1]) * (num[i] - num[i - 1]); }else{ f[i][j] = f[i - 1][j]; } } } printf("%d\n", f [k]); return 0; }
相关文章推荐
- 洛谷1125 笨小猴 解题报告
- TYVJ 1079 数字三角形3 解题报告
- TYVJ 1087 sumsets 解题报告
- TYVJ 1209 拦截导弹 解题报告
- TYVJ 1096 数字组合 解题报告
- TYVJ 1094 矩形分割 解题报告
- TYVJ 1105 细胞分裂 解题报告
- TYVJ 1109 N阶幻方 解题报告
- TYVJ 1119 a^n2 解题报告
- TYVJ 1143 飘飘乎居士的约会 解题报告
- TYVJ 1123 道路游戏 解题报告
- 【第一次写解题报告,,激动】POJ 1125【弗洛伊德算法-floyd算法】
- TYVJ 1111 舞会 解题报告
- TYVJ 1084 数字三角形4 解题报告
- TYVJ 1078 删数 解题报告
- TYVJ 1100 超级书架2 解题报告
- TYVJ 1106 登山 解题报告
- TYVJ 1512 异或密码 解题报告
- TYVJ 1142 阶乘统计3 解题报告
- TYVJ 1067 合唱队形 解题报告