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

划分权重(01背包利用)纯暴力解决填空

在这里插入图片描述
这个题直接用暴力,看能填满多大的体积,比较求出最大值,其实也可以看部分,越靠近中间越大,可以推导出来,结果是一个二次函数,最大值在中间。

package com.js.datastructure.recursion.蓝桥.国特训练营;import java.util.Scanner;public class 划分权重 {static int [] num = {5160 ,9191, 6410, 4657, 7492, 1531, 8854, 1253, 4520, 9231,1266 ,4801 ,3484 ,4323 ,5070 ,1789 ,2744 ,5959 ,9426 ,4433,4404, 5291, 2470, 8533 ,7608, 2935, 8922, 5273, 8364, 8819,7374 ,8077 ,5336 ,8495 ,5602 ,6553 ,3548 ,5267 ,9150 ,3309};public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int sum = 0;for (int i = 0; i < 40; i++) {sum = sum + num[i];}boolean[] dp = new boolean[sum + 1];dp[0] = true;for (int i = 0; i < 40; i++) {for (int j = sum - num[i]; j >= 0 ; j--) {if(dp[j]){dp[j + num[i]] = true;}}}long max = 0;for (int i = 0; i < sum + 1; i++) {if(dp[i]){max = Math.max(max,(long)i * (sum - i));}}System.out.println(max);}
}
http://www.dtcms.com/a/202961.html

相关文章:

  • 深度学习之用CelebA_Spoof数据集搭建一个活体检测-用MNN来推理时候如何利用Conan对软件包进行管理
  • 嵌入式自学第二十四天(5.20)
  • 门店管理五大痛点解析:如何用数字化系统实现高效运营
  • 如何理解大模型的幻觉输出及RAG技术的应用与实战案例
  • 机器人拖动示教控制
  • Java 03(代码块,内部类,lambda表达式)
  • 前端读取本地项目中 public/a.xlsx 文件中的数据 vue3
  • vuejs处理后端返回数字类型精度丢失问题
  • PID项目---硬件设计
  • 8.MySQL故障排查与生产环境优化
  • AGI大模型(29):LangChain Model模型
  • 数据结构与算法:动态规划中用观察优化枚举
  • 【520特辑】情人节脑影像绘图
  • 更新2011-2025经济类联考 396-真题+解析 PDF
  • Hutool 常用工具类实战指南
  • 【C++】C++的拷贝构造函数介绍使用
  • Java双指针法:原地移除数组元素
  • Unreal5 从入门到精通之如何实现 离线语音识别
  • 【BIO、NIO、AIO的区别?】
  • 05 接口自动化-框架封装思想建立之httprunner框架(中)
  • 目标检测DINO-DETR(2023)详细解读
  • 海康工业相机白平衡比选择器对应的值被重置后,如何恢复原成像
  • 【Code】Foundations 2017- Catalogue, List of Tables, List of Figures
  • iOS Runtime与RunLoop的对比和使用
  • Journal of Real-Time Image Processing 投稿过程
  • 区域双碳治理:数据驱动与系统破局之道
  • 2.4.1死锁的概念
  • 计算机网络通信技术与协议(七)———关于ACL的详细解释
  • 迪菲-赫尔曼密钥交换算法深度解析
  • 重构研发效能:项目管理引领软件工厂迈向智能化