04 2013 档案
摘要:这里介绍了在词法分析中,如何将正则表达式转换为相应的 NFA、如何划分字符类、多条正则表达式的转换以及行首限定符和上下文的处理。
阅读全文
摘要:.Net 中自带了一个位压缩数组 BitArray,它的功能也跟数组一样,只能对每一位进行操作,而不能添加或删除位。这里介绍的 BitList 类,就是自己写的能够添加、删除位的位压缩列表。
阅读全文
摘要:编程之美 2013 全国挑战赛 初赛第一场 题目二 相似字符串 解题报告。对于两个长度相等的字符串,我们定义其距离为对应位置不同的字符数量,同时我们认为距离越近的字符串越相似。现在给定两个字符串 S1 和 S2,其中 S2 的长度不大于 S1。请在 S1 中寻找一个与 S2 长度相同的子串,使得距离最小。
阅读全文
摘要:编程之美 2013 全国挑战赛 资格赛 题目三 树上的三角形 解题报告。有一棵树,树上有只毛毛虫。它在这棵树上生活了很久,对它的构造了如指掌。所以它在树上从来都是走最短路,不会绕路。它还还特别喜欢三角形,所以当它在树上爬来爬去的时候总会在想,如果把刚才爬过的那几根树枝/树干锯下来,能不能从中选三根出来拼成一个三角形呢?
阅读全文
摘要:编程之美 2013 全国挑战赛 资格赛 题目二 长方形 解题报告。在 N × M 的网格上,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。
阅读全文
摘要:编程之美 2013 全国挑战赛 资格赛 题目一 传话游戏 解题报告。Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……
阅读全文
摘要:在词法分析中,正则表达式是一种描述词素的重要表示方法,它可以非常高效的描述处理词法单元时要用到的模式类型。这里介绍了词法分析中用到的正则表达式的定义、表示,以及用 NFA 和 DFA 进行模式匹配的简单原理。
阅读全文