n个金矿,共有w个工人(目前可以用的人数),F收益
F(n,w)


//递推函数
//n个金矿,共有w个工人(目前可以用的人数),F收益
//F(n,w)//那么该问题的边界值如下:
//
//当w=0且w<p[0],则F(1,w)=0     当目前人数为0,且小于第一个矿的所需工人数目,此时获益为0
//当w=0且w>p[0],则F(1,w)=g[0]  当目前人数为0,但大于第一个矿的所需工人数目,此时获益为第一个矿产数 #include<bits/stdc++.h>
using namespace std;int getVal(int n, int w, int g[], int p[])
{int res[n + 1][w + 1];for(int i = 0; i <= n; i++){for(int j = 0; j <= w; j++){res[i][j] = 0;}}for(int i = 0; i <= n; i++){for(int j = 0; j <= w; j++){cout<<res[i][j]<<"  ";}cout<<endl;}for (int i = 1; i <= n; i++) {for (int j = 1; j <= w; j++) {//当当前人数不满足于挖当前矿,为什么pg都要i-1,因为它们是从0开始存储的 if (j < p[i-1])res[i][j] = res[i-1][j];elseres[i][j] = max(res[i-1][j],res[i-1][j-p[i-1]]+g[i-1]);}}for(int i = 0; i <= n; i++){for(int j = 0; j <= w; j++){cout<<res[i][j]<<"  ";}cout<<endl;}return res[n][w];
}int main()
{int g[5] = {400, 500, 200, 300, 350};int p[5] = {5, 5, 3, 4, 3};int ans = getVal(5, 10, g, p); cout<<ans;return 0;
}

挖金矿问题(c++求解)相关推荐

  1. java回调函数的生命_Java车票,车站,生命周期,龟兔赛跑,同步锁,礼让,守护线程,挖金矿【诗书画唱】...

    个人理解:加同步锁等的时候,就可以让线程"按顺序排队",一个一个地抢CPU,一个抢完对应的每次有的CPU了,另一个才抢对应的每次有的CPU,解决"并发"问题等. ...

  2. 百度上线百度金矿,个人电脑也可以挖金矿

    百度金矿号称一个可以让个人电脑利用闲置网络资源赚钱的软件,这种软件近几年好几家公司都有做过尝试,迅雷,小米等互联网公司都有搞过. 这种模式有点像比特币不过之前有试过迅雷的确实不太理想,百度金矿也只是 ...

  3. 人工智能变现难?这家AI挖金矿公司已上市

    "变现"是当下阶段人工智能公司面临最重要的难题,表面看来人工智能已经在安防.医疗.教育.智能手机.汽车.金融等诸多行业纷纷落地,但这些行业实际上能产生的营收并不十分乐观.而且诸多均 ...

  4. 【面试经典】求解金矿问题(动态规划初级)

    问题:有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同(情况如下图) 金矿编号 黄金储量 需要人数 1 400 5 2 500 5 3 200 3 4 300 4 5 35 ...

  5. 动态规划:国王与金矿

    题目解析 有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同.参与挖矿工人的总数是10人.每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿.要求用程序求解出,要想得到尽 ...

  6. 【动态规划模型】金矿模型理解动态规划!(精彩的故事)

    对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划.本 ...

  7. 【转载】通过金矿模型介绍动态规划 (动态规划入门)

    先附上原文地址:http://www.cnblogs.com/sdjl/articles/1274312.html 通过金矿模型介绍动态规划 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第 ...

  8. 动态规划入门之国王的金矿

    最近学习算法,对动态规划不太了解,使用的时候照搬转移方程式,知其然不知其所以然,今天看到一篇动态规划的教程,解释得非常通俗,原文在这里[动态规划入门教程] (http://blog.csdn.net/ ...

  9. 通过金矿模型介绍动态规划

    对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划.本 ...

  10. 通过金矿模型介绍动态规划(经典入门)

    对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划.本 ...

最新文章

  1. Golang下的Log处理
  2. 项目调试之小工具---文件名替换
  3. Security:CSRF
  4. 一个不错的游戏 - flash webgame
  5. 使html表格可编辑状态,js+Html实现表格可编辑操作
  6. python创建虚拟环境报错typeerror_python 创建虚拟环境时报错OSError, setuptools下载失败...
  7. Kubernetes 使用 Ingress-nginx 实现灰度发布功能
  8. .Net C# Newtonsoft.Json JsonSerializerSettings配置
  9. 矩阵的转置例题MATLAB,MATLAB特殊矩阵以及矩阵转置
  10. scratch课程案例——蜘蛛森林
  11. ping一下网站服务器的域名,怎么PING一个网站的域名
  12. 清华大学计算机夏文韬,太猛了--南京外国语学校2007届高三毕业生去向
  13. 面试官:如何设计群聊消息的已读未读功能?
  14. linux之ps aux、ps -aux、ps -ef命令的区别
  15. Mooc_AutoCAD绘制建筑施工图_单元平面图测验题
  16. HBase系列(一):HBase表结构及数据模型的理解
  17. 利用USRP探索软件无线电(2)
  18. IDEA打可执行jar包详细教程(包含依赖的所有jar包)
  19. 如何在双系统下删除linux系统
  20. ubuntu amd驱动

热门文章

  1. ubuntu降低内核版本
  2. Git 之 多人协同开发工作流
  3. 云通信接口更新迭代——SUBMAIL API V4正式上线
  4. Python使用UDP实现720p视频传输
  5. 什么是PID?讲个故事,通俗易懂
  6. PID到底是个啥?来给你讲个故事
  7. 人工成本上升?设备停机率高?制造企业该如何破而后立?
  8. vsphere 6.5 HA 提示:此主机当前没有管理网络冗余,该主机的vSphere HA检测信号数据存储数目为0 告警消除
  9. 计算机的组策略在什么地方,WINDOWS的常用组策略
  10. IDA遇到mojava,crash的情况