当前位置: 首页 > 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);}
}

相关文章:

  • 深度学习之用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框架(中)
  • 中国需加强自主创新和国际合作,提升产业链供应链韧性
  • 一日双赛“莎头组合”赢得强势,但国乒已开始品尝输球滋味
  • 贵州茅台股东大会回应八大热点:确保茅台酒价格体系稳固,相信自我调节能力
  • 浙江推动人工智能终端消费:家居机器人纳入以旧换新补贴范围
  • 以色列称“将立即允许恢复”人道主义物资进入加沙
  • 小米汽车回应部分SU7前保险杠形变