- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在练习考试中遇到了这个问题,但不知道如何解决,所以我很害怕期末考试。无论如何,发现这个问题有答案会让我松一口气,并且会帮助我理解动态规划,所以感谢阅读:)
问题:
Given a sequence of n numbers a1, ..., an (positive or negative), we want to divide the sequence into blocks so as to minimize the sum of the squares of the block sums, subject to the constraint that each block contains at least 2 and at most 4 elements. In other words, we want to find 1 = i[0] < i[1] < i[2] < ... < i[k-1] < i[k] = n + 1 to minimize (ai[0] + ... + ai[1]-1)^2 + (ai[1] + ... + ai[2]-1)^2 + ... + (ai[k-1] + ... + ai[k]-1)^2, such that 2 <= i[1] - i[0] <= 4, 2 <= i[2] - i[1] <= 4, ..., 2 <= i[k] - i[k-1] <= 4. (Note that the number of blocks k is not given.) Present an O(n)-time dynamic programming algorithm to solve the problem.
我的问题:定义子问题。我唯一的线索是不断地找到长度 4 到 2 的最小和,但是如果剩下 1 怎么办?它是加入现有的长度为 2 或 3 的组,还是拆分为 4 组?更不用说在 O(n) 内完成了...
最佳答案
子问题是:找到前 k 个数字的最小值。以下是如何将问题简化为已解决的子问题:
令 F(k)
为求解 a1, a2, ... ak
时的最小平方和。
现在
F(2) = (a1+a2)^2
F(3) = (a1+a2+a3)^2
F(4) = min { (a1+a2+a3+a4)^2, (a1+a2)^2 + (a3+a4)^2 }
F(5) = min { (a1+a2+a3)^2 + (a4+a5)^2, (a1+a2)^2 + (a3+a4+a5)^2 }
F(n) = min {
F(n-2) + (a[n-1]+a[n])^2,
F(n-3) + (a[n-2]+a[n-1]+a[n])^2,
F(n-4) + (a[n-3]+a[n-2]+a[n-1]+a[n])^2
}
您可以编写一个简单的函数来计算 F(k) 以增加 k 的值并将它们存储在数组中。
关于algorithm - 最小化平方和的动态规划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8516232/
我正在创建我的第一个 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
我是一名优秀的程序员,十分优秀!