- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
有两个人玩游戏,有 \(n\) 个石子,和一个长度为 \(k\) 的序列,每次可以取 \(a_i\) 个但前提是剩下来的石子数有 \(a_i\) 个,第一个人先取,问两边都是用最优策略时,第一个人最多能得多少个石子.
可以设计状态 \((x, y, f)\) 表示第一个人取了 \(x\) 个石子,第二个人取了 \(y\) 个石子,由第 \(f + 1\) 人开取,显然 \(x + y \le n\) .
那么可以优化状态,因为要求的是第一个人最多能得多少个石子,所以可以将其中一个变量提取出来变成最优属性,可是光靠知道另一个人取了多少个石子是不够的,所以可以将它变成一共已经取了 \(x\) 个石子,还有由于两个人都用的是最优策略,所以 \(f\) 可以优化掉,也就变成了 \(dp_x = y\) ,那转移就是 \(dp_x = \max(x - dp_{x - a_i})\) .
#include <iostream>
using namespace std;
const int MaxN = 110, MaxV = 1e4 + 10;
int dp[MaxV], a[MaxN], n, k;
int main() {
cin >> n >> k;
for (int i = 1; i <= k; i++) {
cin >> a[i];
}
for (int i = 0; i <= n; i++) {
for (int j = 1; j <= k; j++) {
if (i >= a[j]) {
dp[i] = max(dp[i], i - dp[i - a[j]]);
}
}
}
cout << dp[n] << endl;
return 0;
}
最后此篇关于[ABC270D]Stones的文章就讲到这里了,如果你想了解更多关于[ABC270D]Stones的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
[ABC270D] Stones 题意 有两个人玩游戏,有 \(n\) 个石子,和一个长度为 \(k\) 的序列,每次可以取 \(a_i\) 个但前提是剩下来的石子数有 \
也许这个话题已经被打死了,但我找不到任何“定论”的答案。无论如何,我需要在 C++17 中指定一个普通的旧数据结构,它将作为“原始字节 block ”从外部存储器读取/写入/写入。此外部存储器内容必须
在尝试快速测量时,我遇到了一个有问题的值转换。如下图所示,kg 到 lb 是正确的,但是 kg 到 stone 的转换是不正确的,除非我没有正确理解转换。 let pounds = Measureme
题目地址:https://leetcode.com/problems/moving-stones-until-consecutive/ 题目描述 Three stones are on a num
题目地址:https://leetcode.com/problems/last-stone-weight/ 题目描述 Wehave a collection of rocks, each rock
主要是select()就设置哪些标志而言很简单: r 如果数据可读, 如果它是可写的, e 用于套接字紧急数据 但是这条规则有很多异常(exception)(或者,也许是重要的扩展):'w' 设置为已
题目地址:https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/description/ 题目描述 O
我在 R 中有一个数据框。 我正在尝试添加/改变一个新列,该列使用定义我想要替换的字符串的映射/翻译/Rosetta Stone 数据框将几个旧字符串映射到新字符串。 我在想一些涉及 dplyr::m
我掌握了(aa)的基础知识,并大致了解了?和!之间的区别,但是我仍然对使用这些功能时得到的一些结果感到困惑-特别是Some ,以及它与本身有何不同;在某些情况下,我会收到一些特定的错误消息;以及在我期
我目前正在开发一款 BreakOut 游戏,并且即将完成。我目前遇到的唯一问题是,当球击中石头时,石头的颜色不会改变。石头的颜色由其类型(1-3)定义,每当石头被击中时,其类型就会减少1。我知道石头的
我正在使用 Javascript 进行编码。 http://www.programmingbasics.org/en/beginner/random.html(请按“下一步”,直到到达“石头剪刀布”部
这里是问题所在:SPOJ - SCALES 我在网上搜索了一下,在TopCoder找到了一些资料和 AoPS但仍然无法理解。请给我更多有关如何解决此问题的详细信息! 最佳答案 这是一个动态规划问题。
我目前想知道一个应该很容易的图像识别问题,但到目前为止找不到简单的解决方案。 输入是大约 1 兆像素的矩形图片,显示出轻质的木质表面。它上面有一个薄但可见的网格。网格为黑黑色,规则且几乎呈方形(比宽度
我正在尝试使用 Beautiful Stone Soup (BSS) 来修改现有的具有区分大小写的标记名称的 XML。当 BSS 读入 XML 时,它会将所有标记名称强制转换为小写,并且在将其写回文件
所以,我正在尝试图像处理,并且偶然发现了 this中值滤波器的 C 实现。因为没有太多注释或文档,所以我在我的 Linux 机器上编译了这段代码并开始运行 GDB 以开始了解它的作用。作为我输入的输入
为什么以下不调用重载的 operator== (const String &, const String &)? "cobble" == "stone" 最佳答案 因为在C++中,字符串字面量是con
我是一名优秀的程序员,十分优秀!