- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定一个包含 n 个元素的数组 a1, a2 ... an。如果我们定义一个函数 C = max |a(i+1)-a(i)|对于 i = 2 到 n-1。所以我们可以为我们的数组计算 C 的值。现在的问题是,如果我们给定数组和 C 的某个值,应该更改数组中的多少个元素才能获得 C 的这个值?
这是这个 codeforces 问题的解决方案的一部分: http://codeforces.com/contest/361/problem/D
它是使用动态规划解决的,但我不明白答案。谁能给我解释一下?这是代码。
/* x is the value of the function
n the size of the array
*/
int Cal(LL x){
for(int i = 1; i <= n; i++)
dp[i] = 0;
for(int i = 1; i <= n; i++){
for(int j = i + 1; j <= n; j++){
if(abs(a[i] - a[j]) <= 1ll * (j - i) * x) {
dp[j] = max(dp[j], dp[i] + 1);
}
}
}
int ret = 0;
for(int i = 1; i <= n; i++)
ret = max(ret, dp[i] + 1);
return n - ret;
}
最佳答案
在此代码中,dp[i]
表示在range [1, i]
中不需要更改的最大元素数,以获得C 的这个值, 我们不改变 a[i]
.
然后检查每个 j > i
, 如果 |a[i] - a[j]| <= (j - i) * C
, 我们需要改变 i 和 j 之间的所有元素,然后 dp[j] = max(dp[j], dp[i] + 1
)
关于arrays - 算法 - 动态规划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19981080/
我正在创建我的第一个 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
我是一名优秀的程序员,十分优秀!