当前位置: 首页 > news >正文

【分果果——DP(困难)】

题目

分析

分果果题解参考,下面是补充https://blog.csdn.net/AC__dream/article/details/129431299

关于状态

设f[i][j][k]表示第i个人取到的最后一个糖果编号是j,第i-1个人取到的最后一个糖果编号小于等于k时的最大重量的最小值

关于转移方程

关于 j >= k 的必然性 \Leftrightarrow 区间不包含的必然性

代码

#include <bits/stdc++.h>
using namespace std;const int N = 110;int n, m;
int f[N][N][N], a[N], s[N];
bool st[N * N];int main()
{cin >> n >> m;for (int i = 1; i <= n; i++){cin >> a[i];s[i] = a[i] + s[i - 1];for(int j = 0; j < i; j++)st[s[i] - s[j]] = 1;}int ans = 0x3f3f3f3f;for (int mn = 1; mn * m <= 2 * s[n]; mn++){if(!st[mn]) continue;memset(f, 0x3f, sizeof f);f[0][0][0] = 0;for (int i = 1; i <= m; i++){for (int k = 0; k <= n; k++){int p = 0; //题解里这里是id不是pfor (int j = k; j <= n; j++){if(s[j] < mn) continue;while (p < k && s[j] - s[p] > mn) p++;if (s[j] - s[p] < mn)p--;if(k) f[i][j][k] = f[i][j][k - 1];f[i][j][k] = min(f[i][j][k], max(f[i - 1][k][p], s[j] - s[p]));}}}ans = min(ans, f[m][n][n] - mn);}cout << ans;
}

http://www.lryc.cn/news/539123.html

相关文章:

  • 禁止WPS强制打开PDF文件
  • 罗技鼠标接收器丢了,怎么用另一个logi接收器重新配对?
  • ffmpeg configure 研究2:分析屏幕输出及文件输出的具体过程
  • 软件内有离线模型,效果也很实用......
  • Linux下ioctl的应用
  • 如何通过 prometheus-operator 实现服务发现
  • 认识HTML的标签结构
  • MySQL 之INDEX 索引(Index Index of MySQL)
  • 基于flask+vue的租房信息可视化系统
  • 开源Web主机控制面板ISPConfig配置DNS
  • 【Python项目】信息安全领域中语义搜索引擎系统
  • 网站搭建基本流程
  • mysql 存储空间增大解决方案
  • 深入解析队列与广度优先搜索(BFS)的算法思想:原理、实现与应用
  • Swap to Gather-----
  • 使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(自动化篇)
  • Python 函数式编程全攻略:从理论到实战的深度解析
  • Ollama 在 LangChain 中的使用
  • 使用apt-rdepends制作软件离线deb安装包
  • 根据POD名称生成 三部曲:get、describe、log、exec
  • SQL sever数据导入导出实验
  • python环境的yolov11.rknn物体检测
  • I2C、SPI、UART
  • 如何监控和优化 MySQL 中的慢 SQL
  • 13-二叉树最小深度-深度优先(DFS)
  • 51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)
  • 代码补全『三重奏』:EverEdit如何用上下文识别+语法感知+智能片段重构你的编码效率!
  • 电脑系统损坏,备份文件
  • Token Statistics Transformer:线性注意力革命,重新定义Transformer效率天花板
  • Django 5实用指南(二)项目结构与管理