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

【深基12.例1】部分背包问题 Java

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int t = sc.nextInt();Integer[] s = new Integer[n]; // 存排序后的索引值int[] m = new int[n]; // 重量int[] v = new int[n]; // 价值for (int i = 0; i < n; i++) {s[i] = i; // 填充索引值}for (int i = 0; i < n; i++) {m[i] = sc.nextInt();v[i] = sc.nextInt();}// 性价比从高到低排序Arrays.sort(s, (a, b) -> {double r1 = (double) v[a] / m[a];double r2 = (double) v[b] / m[b];return Double.compare(r2, r1);});double ans = 0;for (int i = 0; i < n; i++) {if (t - m[s[i]] >= 0) {t -= m[s[i]];ans += v[s[i]];} else {ans += (double) v[s[i]] / m[s[i]] * t; // 剩余容量塞满break;}}System.out.printf("%.2f", ans);}
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://www.dtcms.com/a/298379.html

相关文章:

  • docker 挂载卷
  • 【C++】二叉搜索数
  • 使用Akshare获取股票历史数据
  • Avalonia 发布完cv到Linux上运行 出现字体丢失/不显示问题
  • [NLP]UPF基本语法及其在 native low power verification中的典型流程
  • 闲鱼多账号运营安全策略 如何规避同ip
  • MC_GearInPos电子齿轮
  • python-函数进阶、容器通用方法、字符串比大小(笔记)
  • 机器学习-SVM支持向量机
  • Unity UOS 多人联机
  • Go语言中的非类型安全指针
  • Idefics2:构建视觉-语言模型时,什么是重要的
  • Java 常用数据库详解
  • 数据结构 二叉树(1)
  • leetcode933最近的请求次数
  • 《汇编语言:基于X86处理器》第9章 编程练习
  • Three.js 控制器和交互设计:OrbitControls + Raycaster 实战
  • Chromadb 1.0.15 索引全解析:从原理到实战的向量检索优化指南
  • 《C++》面向对象编程--类(补充)
  • yarn在macOS上的安装与镜像源配置:全方位指南
  • Modbus RTU转Profinet网关接涡街液体流量计到西门子1200 PLC系统
  • [第十三篇] Spring Boot监控
  • 网络安全-机遇与挑战
  • leetcode 3487. 删除后的最大子数组元素和 简单
  • Java排序算法之<冒泡排序>
  • [python][flask]Flask-Principal 使用详解
  • SpringBoot学习路径--SpringBoot的简单介绍和项目搭建
  • Kafka运维实战 15 - kafka 重设消费者组位移入门和实战【实战】
  • Qt 数据库事务处理与数据安全
  • Qt OpenGL 集成:开发 3D 图形应用