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

泰安集团网站建设价格网站建设 提供源码

泰安集团网站建设价格,网站建设 提供源码,网站开发时间表,网站设计网站设计公司价格贪心入门 ————2395 - 部分背包问题 2395 - 部分背包问题题目描述输入输出样例问题分析贪心算法思路代码实现总结 2395 - 部分背包问题 题目描述 阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有 N (N < 100)堆金币&#xff0c;第i堆金币的总重量和总价值分别是mi,vi (l …

贪心入门 ————2395 - 部分背包问题

  • 2395 - 部分背包问题
    • 题目描述
    • 输入
    • 输出
    • 样例
    • 问题分析
    • 贪心算法思路
    • 代码实现
    • 总结

2395 - 部分背包问题

题目描述


阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有 N (N < 100)堆金币,第i堆金币的总重量和总价值分别是mi,vi (l < mi, ui < 100).
阿里巴巴有一个承重量为 T(T< 1000)的背包,但并不一定有办法将全部的金币都装进去。他想装走尽可能多价值的金币。
所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。
请问阿里巴巴最多可以拿走多少价值的金币?


输入

输入 第一行两个整数 N , T 。 接下来 N 行,每行两个整数 m i ​ , v i ​ 。


输出

一个实数表示答案,输出两位小数。


样例

- 输出:
4 50
10 60
20 100
30 120
15 45	
- 输出:
240.00

问题分析

  • 单位价值:60/10=6,100/20=5,120/30=4。

  • 优先装单位价值最高的金币堆:

    • 全部装入第1堆(重量10,价值60)。

    • 全部装入第2堆(重量20,价值100)。

    • 剩余承重 50-10-20=20,装入 20/30 的第3堆(价值 120*(20/30)=80)。

  • 总价值:60 + 100 + 80 = 240。

贪心算法思路

  1. 计算单位价值:对每堆金币,计算 vi / mi(每单位重量的价值)。

  2. 排序:按单位价值 从高到低 排序。

  3. 装入背包:

    • 优先装入单位价值高的金币堆。

    • 如果当前堆可以完全装入(mi ≤ 剩余承重),则全部装入。

    • 否则装入部分(剩余承重 / mi * vi),并结束。

代码实现

#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;struct Coin {int weight, value;double unit; // 单位价值
};bool compare(Coin a, Coin b) {return a.unit > b.unit; // 按单位价值降序排序
}int main() {int N, T;cin >> N >> T;vector<Coin> coins(N);for (int i = 0; i < N; i++) {cin >> coins[i].weight >> coins[i].value;coins[i].unit = (double)coins[i].value / coins[i].weight;}sort(coins.begin(), coins.end(), compare); // 排序double max_value = 0.0;int remaining = T; // 剩余承重for (int i = 0; i < N && remaining > 0; i++) {if (coins[i].weight <= remaining) {// 全部装入max_value += coins[i].value;remaining -= coins[i].weight;} else {// 装入部分max_value += coins[i].unit * remaining;remaining = 0;}}cout << fixed << setprecision(2) << max_value << endl;return 0;
}

总结

1.结构体定义:Coin 存储金币堆的重量、价值和单位价值。2.排序:按 unit 降序排列,优先处理高单位价值的金币。3.贪心选择:- 如果当前堆能完整装入,直接加总价值。- 否则装入部分,比例计算为 剩余承重 * unit。4.输出:保留两位小数。

文章转载自:

http://RBFOICDu.hdzty.cn
http://FEMyw6Gm.hdzty.cn
http://EoTrzprv.hdzty.cn
http://g89fJKTU.hdzty.cn
http://R9KmDpyZ.hdzty.cn
http://RfN13Ic3.hdzty.cn
http://VdAdHvS1.hdzty.cn
http://TsKpGCZI.hdzty.cn
http://zgMqypAg.hdzty.cn
http://yoDGE5XS.hdzty.cn
http://993ojdSn.hdzty.cn
http://gqQOYeE3.hdzty.cn
http://W9TAzFAV.hdzty.cn
http://vIUy7tSf.hdzty.cn
http://ndXVwG8b.hdzty.cn
http://7oKkzMBn.hdzty.cn
http://ezv9OkLo.hdzty.cn
http://kBsMMUta.hdzty.cn
http://a2eR3aQW.hdzty.cn
http://ZyPhmSwK.hdzty.cn
http://9vl8yIXJ.hdzty.cn
http://9RjM4VtI.hdzty.cn
http://2Z7TXwjQ.hdzty.cn
http://9DeonbGo.hdzty.cn
http://4czezBFN.hdzty.cn
http://E2i0Rwna.hdzty.cn
http://1xWHPvd8.hdzty.cn
http://40ZDQYrH.hdzty.cn
http://8I7vGbwS.hdzty.cn
http://Ns9CqQVc.hdzty.cn
http://www.dtcms.com/wzjs/732070.html

相关文章:

  • 网站后台管理系统代码网络推广的方法有多选题
  • 网站建设 中国联盟网湘潭市哪里做网站
  • 建设信用卡中心网站首页做京东网站采购的工作内容
  • 网页设计与网站建设课后习题答案防城港网站seo
  • 谷歌搜索关键字网站织梦模板免费
  • 付费网站 源码 下载链接自适应企业网站用什么框架做
  • 猎奇网站源码上饶市建设局网站百代
  • 优化什么建立生育支持网站优化排名易下拉软件
  • 聊城开发网站建设网站怎么连接微信支付
  • 越南做It网站推广东莞网络推广费用
  • 做外贸英语要什么网站互联网企业公司简介
  • 官网网站建设网站和公众号的区别是什么
  • 网站开发如何入账网站建设与网页制作试卷
  • 免费做爰小说网站微信小程序联盟网站
  • 潍坊+网站建设深圳市住房和城乡和建设局网站
  • linux建站和wordpress中小型企业网站建设与管理考试
  • thinkphp网站优化自己做网站流程
  • PHP网站名字大数据分析
  • 广东网站设计哪家专业开发公司施工管理事业部领导如何同下属协调沟通
  • 网站建设上传宝贝xamp新公司成立如何建设网站
  • wordpress 仿站全媒体网站的建设方案
  • 如何做局域网网站建设手机建设中网站首页
  • 网站排名易下拉稳定wordpress 后台统计
  • 成都微网站设计包头市网站建设公司
  • 福建住房与城乡建设网站wordpress 分块首页
  • 衡水网站建设找谁seo实战指导
  • 免费个人网站平台网站做seo外链
  • 做彩铃的网站专业的手机网站建设公司
  • 现在最好的免费的建站平台seo值是什么意思
  • 个人建网站要花多少钱wordpress邮件发文章