购物(DP问题)
/**\ https://ac.nowcoder.com/acm/problem/14526 01背包问题变种 \**/ #include <bits/stdc++.h> using namespace std; #define fi first #define se second #define go continue #define int long long #define PII pair<int, int> #define sf(x) scanf("%lld",&x) #define pf(x) printf("%lld\n",x) #define ytz int _; sf(_); while(_--) #define fory(i,a,b) for(int i = a; i <= b; ++i) #define forl(i,a,b) for(int i = a; i >= b; --i) #define debug(a) cout << #a << " = " << a <<endl; const int N = 3e2 + 10; int n, m; int f[N][N], a[N][N]; signed main() { sf(n), sf(m); fory(i, 1, n) { fory(j, 1, m) sf(a[i][j]); sort(a[i] + 1, a[i] + 1 + m); fory(j, 1, m) a[i][j] += a[i][j - 1]; } memset(f, 0x3f, sizeof f); f[0][0] = 0; //f[i][j] 表示第i天,目前到现在买了j个糖果 for(int i = 1; i <= n; ++i) { int len = min(n, i * m); //n = 3 m = 2情况 for(int j = 1; j <= len; ++j) { for(int k = i - 1; k <= j; ++k) { f[i][j] = min(f[i][j], f[i - 1][k] + a[i][j - k] + (j - k) * (j - k)); } } } pf(f[n][n]); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】