【每日一题】购物
购物
https://ac.nowcoder.com/acm/problem/14526
题意:
思路:
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 305; int f[N][N]; int n,m,sum[N][N],a[N][N]; int main(){ scanf("%d%d",&n,&m); for(int i = 1;i <= n;i++){ for(int j = 1;j <= m;j++){ scanf("%d",&a[i][j]); } sort(a[i] + 1,a[i] + 1 + m); } for(int i = 1;i <= n;i++){ for(int j = 1;j <= m;j++){ sum[i][j] = sum[i][j-1] + a[i][j]; } } memset(f,0x3f,sizeof(f)); f[0][0] = 0; for(int i = 1;i <= n;i++){ for(int j = i;j <= min(n,i*m);j++){ for(int k = 0;k <= min(m,j);k++){ f[i][j] = min(f[i][j],f[i-1][j-k] + sum[i][k] + k*k); } } } printf("%d\n",f[n][n]); return 0; }
每日一题 文章被收录于专栏
每题一题题目