BUN16 51640 dp
2016-06-10 23:03
267 查看
bunoj
%Q
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1000+100 ;
long long a[maxn] ;
long long dp[1000][1000] ;
int main()
{
int t , n , m ;
scanf("%d",&t) ;
while(t--){
cin >> n >> m ;
for(int i = 1 ;i <= n ; ++i){
cin >> a[i] ;
}
sort(a+1,a+n+1) ;
// for(int i = 0 ;i <= n ;++i){
// cout << a[i] << " " ;
// }
for(int i = 0 ;i <= m ; ++i){
for(int j = 0 ; j<= n ; ++j){
i >= j ? dp[i][j] = 0 : dp[i][j] = 1100000000000 ;
// cout << dp[i][j] << " " ;
}
}
for(int i = 1 ; i <= m ; ++i){
for(int j = 1 ;j <= n ; ++j){
for(int k = 0 ; k < j; ++k){
long long tmp = (a[j]-a[j-k])*(a[j]-a[j-k]) ;
dp[i][j] = min(dp[i][j] , dp[i-1][j-k-1]+tmp) ;
// cout<< "i j " << i << " " << j << " " << dp[i][j]<< " " <<endl; ;
}
// cout << dp[i][j] << " " ;
// cout << endl;
}
//// cout << endl;
}
printf("%lld\n",dp[m]
);
}
return 0;
}
%Q
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1000+100 ;
long long a[maxn] ;
long long dp[1000][1000] ;
int main()
{
int t , n , m ;
scanf("%d",&t) ;
while(t--){
cin >> n >> m ;
for(int i = 1 ;i <= n ; ++i){
cin >> a[i] ;
}
sort(a+1,a+n+1) ;
// for(int i = 0 ;i <= n ;++i){
// cout << a[i] << " " ;
// }
for(int i = 0 ;i <= m ; ++i){
for(int j = 0 ; j<= n ; ++j){
i >= j ? dp[i][j] = 0 : dp[i][j] = 1100000000000 ;
// cout << dp[i][j] << " " ;
}
}
for(int i = 1 ; i <= m ; ++i){
for(int j = 1 ;j <= n ; ++j){
for(int k = 0 ; k < j; ++k){
long long tmp = (a[j]-a[j-k])*(a[j]-a[j-k]) ;
dp[i][j] = min(dp[i][j] , dp[i-1][j-k-1]+tmp) ;
// cout<< "i j " << i << " " << j << " " << dp[i][j]<< " " <<endl; ;
}
// cout << dp[i][j] << " " ;
// cout << endl;
}
//// cout << endl;
}
printf("%lld\n",dp[m]
);
}
return 0;
}
相关文章推荐
- 实习杂记(21):ArrayList的toArray
- 关于浏览器和网络的20项须知-云计算
- Node.js基本语法简介
- document.cookie.indexof的解释
- Leetcode_c++: Triangle (120)
- search-a-2d-matrix
- NFS服务器配置
- JavaSE复习_3 继承
- java8十大新特性浅谈
- CSS学习记录——表格
- Exception in thread "main" java.lang.RuntimeException: job failed: name=inject urls, jobid=job_local
- 获取当前日期时间、日期时间格式化及转换
- 重装64位系统
- 专2-第二课 Eclipse开发环境搭建
- 第四百三十四天 how can I 坚持
- Android Touch事件传递机制
- BZOJ_1613_ [Usaco2007_Jan]_Running_贝茜的晨练计划_(动态规划)
- openSUSE 安装oracle jdk
- 元素淡入淡出效果
- 数据库优化概览