问题标签 [bottom-up]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 从具有最大面积的 n 个子集中找出 k
我有n
积分,必须找到k
点之间的最大联合面积(k <= n
)。因此,它是这些点面积的总和减去它们之间的公共面积。
] 1
假设我们有n=4, k=2
. 如上图所示,面积是从每个点到原点计算的,最终面积是B面积与D面积之和(只计算它们相交的面积一次)。没有一点被支配
我已经实现了一个自下而上的动态规划算法,但它在某处有错误。这是打印出最佳结果的代码:
输入:
其中第一个数字等于n
,第二k
行和以下行分别是每个点的x
和y
坐标,结果应该是0.381410589193
:
而我的是0.366431740966
. 所以我错过了一点?
parsing - 解析表大小(自下而上)
我已经看到了为歧义和明确语法(相同语言)构建的解析表大小之间的比较。为模棱两可而创建的那个要小得多。使用的解析器是 SLR(1)。
我想问你,代表歧义语法的解析表(自底向上解析器)的大小总是小于对应的明确语法的解析表的大小是否总是正确的?显然假设冲突得到了正确解决。
我做了一些研究,但我找不到这个问题的任何证据或答案。
parsing - L-属性语法和自底向上解析
我试图了解自下而上解析期间 L 属性语法和计算属性之间的关系是什么。是否总是可以在创建语法树期间为每个上下文无关文法或仅针对某些选定文法(如 LR(k))计算所有属性?让我们假设允许进行一些转换,例如添加新的非终结符和 epsilon 产生式。我一直在寻找这方面的一些信息,但我找不到。
parsing - LR-Parsing-Table:什么决定了 reduce-actions 的下一个状态?
据我所知(阅读)关于生成 LR-Parsing 表的是列(=令牌),其中减少操作被写入特定状态的单元格,取决于终端,即在 FOLLOW 集中的简化符号。
那是对的吗?*
如果是这样,那么我想到的下一个问题是:是什么决定了下一个状态,在归约后发生转换。
例如,在状态 5 中,r6 意味着减少符号,然后转换到状态 6(并且可能考虑 goto-table,进一步转换到哪个状态)
解析表或 DFA 的状态——LR 解析器是——是图形表示中的路径。作为自下而上的解析器,LR-Parser 通过寻找回到起始符号/接受状态的路径来工作。解析表试图找到每一个这样的路径。
对我来说,因此选择正确的还原状态似乎很复杂。
因为它密切依赖于当前状态之前的状态/ItemSets 以及根据尚未读取的输入标记完全继承当前状态的状态。
与 reduce-actions 相比,shift-和 goto-actions 似乎很容易,因为它们只是移动点位置时出现的转换。
谢谢
PS:*如果正确,那么使用FOLLOW-Set作为附加功能生成LR1Items不是“双重麻烦”吗?
python - 如何将“月亮和雨伞”的递归解决方案转换为DP?
我正在尝试从 Code Jam 的 2021 年资格赛中为Moons 和 Umbrellas提出 DP 解决方案。以下是我的工作递归解决方案,基于他们的分析:
简而言之,问题是给定一串C
's、J
's 和?
s(例如CCJCJ??JC
or JCCC??CJ
),问号应替换为C
or J
。最小化从C
到转换的成本,J
反之亦然。这两种类型的转换具有不同的成本。
如何使用自下而上的方法将其转换为 DP 解决方案?
text - 添加新文本时,它出现在底部,其余文本上升
我想在文本框中显示文本,说明我是否击中以及我对敌人造成的伤害,反之亦然,但我只是不知道如何使文本以这种方式显示。
这是我正在处理的代码:
swift - 尝试自下而上的方法在 Swift 中实现斐波那契函数时出现运行时错误?
我正在尝试在 Swift 5 中实现斐波那契函数。当我在 Xcode Playground 上实现该函数时(我从CSDojo 的 youtube 视频中获取了该函数的代码),我遇到了这个错误消息
错误:执行被中断,原因:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
最初,我认为错误必须来自下标索引超出范围。所以我再次检查了我的代码,似乎没有问题。现在我想知道为什么我在尝试运行时会从 Xcode Playground 收到此错误消息computeFiboBottomUp(n: 100)
?它工作正常,直到computeFiboBottomUp(n:35)
.
是因为堆栈上的递归调用太多,编译器无法处理吗?还是我的代码可能包含错误?
count - 当总和为(大于或等于R)或(小于或等于L)时,计算大小为k的子集的总和
这段代码的输出是: 4
解释:
25+10 =35
25+4 = 29
25+2 = 27
10+4 = 14
这些和满足给定条件 if((L>=Sum)or(R<=Sum )) 其中 L=3 R=13
K 是子集的大小。这里,K = 2
当 K = 3
当 K = 3 时,此代码的输出为: 4
解释:
4+10+25 = 39
2+4+25 = 31
2+10+25 = 37
2+4+10 = 16
这些和满足给定条件 if( (L>=Sum)or(R<=Sum)) where L=3 R=13
有没有办法在动态规划或任何其他更好的方法中解决这个问题?