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

贪心算法-背包问题

#include<stdio.h> #define N 5 //物品数量(总类) #define W 100 //容量 int v_temp[N+1], w_temp[N+1]; // 物品价值数组,物品容量数组 double vw_temp[N+1];//单位物品价值容量数组 double answer[N+1] = {0};//解方案数组 void show(int v[],int w[],double vw[]) { int i; for(i = 1;i<=N;i++){ printf("%d ",v[i]); } printf("\n"); for(i = 1;i<=N;i++){ printf("%d ",w[i]); } printf("\n"); for(i = 1;i<=N;i++){ printf("%.1f ",vw[i]); } printf("\n"); } void merge_sort(int v[],int w[],double vw[],int l,int r) { if(l>=r) { return ; } int mid = (l+r)/2; merge_sort(v,w,vw,l,mid); merge_sort(v,w,vw,mid+1,r); int i = l,j = mid+1,k = 1; while(i<=mid && j<=r) { if(vw[i] > vw[j]) { vw_temp[k] = vw[i]; v_temp[k] = v[i]; w_temp[k] = w[i]; k++,i++; } else { vw_temp[k] = vw[j]; v_temp[k] = v[j]; w_temp[k] = w[j]; k++,j++; } } while(i<=mid) { vw_temp[k] = vw[i]; v_temp[k] = v[i]; w_temp[k] = w[i]; k++,i++; } while(j<=r) { vw_temp[k] = vw[j]; v_temp[k] = v[j]; w_temp[k] = w[j]; k++,j++; } for(i = l,j= 1;i<=r;i++,j++) { vw[i] = vw_temp[j]; v[i] = v_temp[j]; w[i] = w_temp[j]; } } double max_value(int v[],int w[],double vw[]) { double result = 0.0; int i,w_temp = W; for(i = 1;i<=N;i++) { if(w_temp>w[i]) { answer[i] = 1; result = result+v[i]; w_temp = w_temp-w[i]; } else { break; } } if(w_temp>0 && i<=N) { answer[i] = (double)w_temp/w[i]; result = result + w_temp*vw[i]; } return result; } int main() { int v[] = {0,20,65,30,40,60};//物品价值数组 int w[] = {0,10,30,20,40,50};//物品容量数组 double vw[N+1] = {0}; int i; for(i = 1;i<=N;i++) { vw[i] = (double)v[i]/w[i]; } printf("排序前\n"); show(v,w,vw); printf("排序后\n"); merge_sort(v,w,vw,1,N);//归并排序 show(v,w,vw); double result = max_value(v,w,vw); printf("result = %.1f\n",result); printf("解方案结果为:\n"); for(i = 1;i<=N;i++) { printf("%.1f ",answer[i]); } return 0; }

http://www.zskr.cn/news/1475343.html

相关文章:

  • Windows 11终极瘦身:免费开源工具Win11Debloat让你的电脑重获新生
  • 手机拍脸视频+Matlab自动算心率(带实测样例)
  • 给她的专属生日网页:手机电脑都能看,带照片轮播、背景音乐和手写风告白
  • 用Python脚本+STorM32 GUI实现云台自动化PID调参,解放双手(附数据采集代码)
  • 从零开始学 Vue3(一):为什么 Vue3 比 Vue2 香这么多?
  • 小说下载器:如何永久保存100+小说网站的内容?
  • 2026沈阳旧金回收测评!高诚意无套路,收的顶品牌强势夺魁 - 奢侈品回收评测
  • 2026年,Claude Code 凭什么成了程序员的第一终端?深度拆解 Anthropic 的 Agentic 编程革命
  • 基于BRF6150与TLV320AIC23B的蓝牙耳机系统设计与VxWorks协议栈实现
  • 2026年工业搅拌机实力生产厂家甄选:电池材料/化工/砂浆/粉体搅拌机制造商及高效盘条式、无重力混合机专业企业解析 - 品牌企业推荐师(官方)
  • 2026 青岛家里有老酒/名酒/茅台酒/礼品闲置别乱卖!青岛本地实体回收店真实打分测评 - 资讯速览
  • 力扣HOT100(55)多维动态规划 - 编辑距离
  • 如何在本地构建千万级图片搜索引擎:ImageSearch实战指南
  • OpenAI Codex 使用指南:程序员进入 AI Agent 编程时代
  • 如何选择远心镜头内同轴光源和外同轴光源
  • GHelper终极指南:华硕笔记本轻量级控制神器,告别Armoury Crate卡顿烦恼
  • 3分钟快速制作专业MDX词典:AutoMdxBuilder完全指南
  • 5分钟搞定百度网盘批量转存:免费开源神器BaiduPanFilesTransfers终极指南
  • ROG携20周年纪念设计电竞显示器亮相2026台北电脑展!
  • Token消耗量翻10倍才算企业转型及格线?三位产业一线大佬教你用出性价比
  • 高速差分接口互连实战:LVPECL、CML、LVDS电平匹配与终端设计
  • 如何用BilibiliDown轻松下载B站视频:跨平台视频下载器完全指南
  • WrenAI容器化实践:构建企业级AI数据上下文层
  • AI智能体的分类及开发
  • 2026年6月光固化保护套生产厂家选哪家,环氧酚醛/环氧玻璃钢/石墨烯涂料/光固化保护套,光固化保护套批发厂家找哪家 - 品牌推荐师
  • 2026散热风扇实力之选:卡固、台湾维宏、SUNON、台达、ADDA等品牌企业综合能力评估 - 品牌企业推荐师(官方)
  • 2026精选:上海无损检测与材料检测服务公司——专业精准与深度技术解析 - 品牌企业推荐师(官方)
  • Hello, Wilds!
  • 不暴露身份随便聊|2026树洞公众号排行:树洞陪聊+倾诉+陪玩TOP5 - 时时资讯
  • HarmonyOS认证体系解析:应用与设备开发双路径赋能开发者生态