- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好吧,我真的不需要代码本身的帮助,而是了解我到底想做什么才能编写代码。简而言之,我有 1000 个项目,每个项目都有一组资源,我有一组(设定数量的)资源可以用来计算我可以选择的最佳项目。
bestprofit函数的伪代码如下:
Parameters -
projects: a vector of projects
r: the resources available to solve the subinstance
valueMap: the map data structure that is used for memoization
n: only projects numbered 0,...,n-1 may be
used to solve the subinstance
Returns - the maximum amount of profit that may be obtained on this
subinstance of the optimization problem
Post-condition – If n > 0, then valueMap contains an entry
whose key is (r, n).
If n equals 0
return 0
Check valueMap to see whether this subinstance has already been solved
- If so, then return the previously computed result (function terminates)
best1 = bestProfit(projects, r, valueMap, n-1)
Check whether r provides enough resources to undertake project n-1
- If so, then best2 = bestProfit(projects, r – projects[n-1].requirements, valueMap, n-1)
+ projects[n-1].profit
Else
best2 = 0
If best1 >= best2
Store (r, n) -> (best1, false) in valueMap
Return best1
Else
Store (r, n) -> (best2, true) in valueMap
Return best2
当我递归调用 bestProfit 时,best1 应该检查子问题是否已经解决。而best2,认为可行性检查仅基于最后一个项目。换句话说,它看起来像一棵平衡树。我无法理解的是如何在递归期间在 map 上插入值?基本上,在遍历整个项目集之前,不会出现最终的 if/else 语句。并且只有最终值被插入到我的 map 上。我只想要一些关于我应该如何处理它以正确编写递归的指示。
就像我之前说的,我不是在寻找代码,而是在寻找一种方法来理解这个伪代码对我的 C++ 项目的要求。正是这种逻辑让我在这一点上发疯,因为我无法将它们组合在一起工作。感谢大家查看此内容并在可能的情况下提供更好的见解。
最佳答案
我会返回一个数据结构,它指示利润和获得该利润的解决方案。将该确切的数据结构存储在 valueMap
中。这将使您的代码更加直接。
基本上,“编写正确的递归解决方案。添加内存以使其更快。”
关于c++ - 动态规划问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825137/
我正在创建我的第一个 WAR 文件。我一直在试验 ant buildfile 语法,我的 buildfile 的第一部分从我的 Eclipse 项目中获取内容并将其放入 /dist 文件夹中,然后将其
我是一名学习 SQL 和 PHP 的学生,我接到了一项任务,要使用 PHP 和 mySQLi 创建学生反馈表,我真的一直在思考如何为项目设计数据库! 我正在创建一个系统,用户可以在其中登录网页,如果用
这个问题在这里已经有了答案: Is it possbile to test for expected errors when the testee exits with failure using
我目前正在设计和开发一个 Web 应用程序,该应用程序有可能快速增长。我将提供一些一般信息,然后继续我的问题。我会说我是一名中级网络程序员。 以下是一些规范:MySQL - 数据库后端PHP - 用于
我不知何故无法在我的日志解析器应用程序中实现报告功能。 这是我目前所做的: 我正在编写一个应用程序,它读取日志文件并在字符串中搜索可以在用户配置文件中定义的多个正则表达式。对于从配置中解析的每个所谓的
我有兴趣学习如何在多开发团队场景中设计/规划 Web 应用程序开发。 假设“项目经理/负责人”的角色: 成功的 Web 应用程序开发需要哪些“文档”? 需要什么 UML 图,需要什么程度? 在设计/计
table a (t_a): id name last first email state country 0 sklass klass steve
我们建立了一个广泛使用 JQuery UI 的 AJAX 网站。我们有 30 多个自制的 JQuery UI 小部件(动态加载)。我们到处都使用 JQuery native 小部件:对话框、 slid
我是一名优秀的程序员,十分优秀!