We have a collection of rocks, each rock has a positive integer weight. Each turn, we choose the two heaviest rocks and smash them together. Suppose t ...
分类:
其他好文 时间:
2020-01-31 14:13:17
阅读次数:
78
https://codeforces.com/contest/1191/problem/D 题意:n堆石子,谁最后没有石子可取谁输,谁取完之后存在两堆相等的石子数谁输。 分情况: 1、只有一堆石子只需判断奇偶。 2、多于两堆:先手输:存在两堆相等数超过两对、存在三堆相等、存在两个0堆、只存在一对两堆 ...
分类:
其他好文 时间:
2020-01-29 17:38:04
阅读次数:
56
第10天 无法割舍的数组 目标:为Stone语言添加简单的数组功能,下标(index)只能使用整数值。 10.1扩展语法分析器 代码清单10.1 与数组相关的语法规则 代码清单10.2 ArrayParser.java 代码清单10.3 ArrayLiteral.java 接下来我们根据新的语法规则 ...
分类:
编程语言 时间:
2020-01-22 21:32:07
阅读次数:
101
第9天 设计面向对象语言 目标:为Stone语言添加类和对象的支持。仅支持单一继承 9.1 设计用于操作类与对象的语法 添加的类与对象的处理功能后,下面的Stone语言就能被正确执行了 首先定义一个Position类,方法由def语句定义。类中字段通过变量表示,并赋了初始值。上面的例子定义了move ...
分类:
编程语言 时间:
2020-01-21 23:25:07
阅读次数:
105
第8天 关联Java语言 本章要达到的目的:扩展Stone语言,使它能在程序中调用Java语言中的static方法 8.1 原生函数 Java语言提供了名为原生方法的功能,用于调用C语言等其他一些语言写成的函数。我们将为Stone语言添加类似的功能,让它能够调用由Java语言写成的函数。 原生函数将 ...
分类:
编程语言 时间:
2020-01-20 21:11:27
阅读次数:
105
第7天 添加函数功能 基本的函数定义与调用执行、引入闭包使Stone语言可以将变量赋值为函数,或将函数作为参数传递给其他函数 有些函数将有返回值的归为函数,没有返回值的归为子程序 7.1 扩充语法规则 函数定义语句的语法规则 此书将函数定义语句称为def语句。def语句仅能用于最外层代码,用户无法在 ...
分类:
编程语言 时间:
2020-01-20 00:09:21
阅读次数:
87
第5天 设计语法分析器 5.1 Stone语言的语法 代码清单 5.1 Stone 语言的语法定义 5.2 使用解析器和组合子 Parser库: 一种解析器组合子类型的库 工作是将BNF写成的语法规则改写成Java语言程序 在书中第十七章有详细解说 代码清单 5.2 Stone 语言的语法分析器Ba ...
分类:
编程语言 时间:
2020-01-17 22:40:37
阅读次数:
106
2020-01-11 17:47:59 问题描述: 问题求解: 本题和另一题target sum非常类似。target sum的要求是在一个数组中随机添加正负号,使得最终得到的结果是target,这个题目被证明和背包问题是同一个问题,只是需要进行一下转化。 本题其实也是一个套壳题目,只是这次的壳套的 ...
分类:
其他好文 时间:
2020-01-11 18:39:55
阅读次数:
62
题目:https://nanti.jisuanke.com/t/41420 思路:01背包方案 当a(a∈S′)为最小值 如果Sum(S′)?a≤Sum(S?S′)成立 那么(?t∈S′,Sum(S′)?t≤Sum(S?S′))恒成立 从大到小排序即当前a[i]为已选石头中的最小值 #include ...
分类:
其他好文 时间:
2019-12-24 13:58:10
阅读次数:
64
Description Description There is a stone game.At the beginning of the game the player picks n piles of stones in a line. The goal is to merge the ston ...
分类:
其他好文 时间:
2019-12-21 22:32:46
阅读次数:
93