- 主题:信息学竞赛算法进阶探讨
组合数学?没用。
算法设计是干什么?如果能够直接推出公式f(x),哪里还需要计算机算法设计?
凡是推荐组合数学的,都是不懂计算机算法设计的。
具体数学?隔靴搔痒。看起来讲得头头是道,实际屁用没有。
要学算法,首先要明白计算的类型,特别是现在竞赛题的类型。
根据计算的需求,首先是能够推出最终公式的计算,当时的计算机性能差,计算量巨大,如何计算这种问题。这种题目,现在在竞赛中,绝少出现。典型的例子,就是大数计算。但是,把最近十年的题目翻翻,有这样的题目吗?至少最近十年,这种类型的题目没有出现过。
另一种就是无法推最终公式的计算。这类题目,只能找到下一步的步骤,即递推计算,即第n步计算与前n-i步有关系。
递推计算又分为两种,第一种是可以“轻松”找到递推关系的,当然,第二种是很难找到递推关系的。
具体数字中的和式的递归式、底和顶的递推式、整除、同余就是第一种。具体数学给出一些“简单”问题的递推式的求法,即生成函数。其实,只要不太笨,都很容易的。当然,对于初中生来说,还是稍微难了一点点,主要是概念。不过,还算好。
真正难的,就是很难找递推关系的,很难用生成函数找到递推式的。
组合数学这本书提到的覆盖、幻方、四色等问题(但是这本书根本没有给出解法),就是很难找到递推式的问题。
用我们专业理论和术语来说,在求解一个问题时,涉及两个方面:一是该问题的表示,如果一个问题找不到一个合适的表示方法,就谈不上对它求解;二是选择一种相对合适的求解方法。
现在竞赛的题目,难就难在找不到一个合适的表示方法。而组合数学和具体数学讲了半天,就是讲,问题的表示。
笑!!!!!!
【 在 GGbod 的大作中提到: 】
: xxxxxx
: 最近跟小孩聊到信息学竞赛目前遇到的困难,小孩感觉遇到的难题都是组合数学的知识,思维上想不到那种算法设计方法。
: 想了一下,准备把对应的数学知识整理出来,按照数学竞赛的强度去学习、强化练习刷题走一遍。
: ...................
--
FROM 58.19.16.*
离散数学也是隔靴搔痒。
【 在 GGbod 的大作中提到: 】
: xxxxxx
: 最近跟小孩聊到信息学竞赛目前遇到的困难,小孩感觉遇到的难题都是组合数学的知识,思维上想不到那种算法设计方法。
: 想了一下,准备把对应的数学知识整理出来,按照数学竞赛的强度去学习、强化练习刷题走一遍。
: ...................
--
FROM 58.19.16.*
组合数学的教材,讲得都是证明。没有给出递归式的推导。
具体数学好点,但是证明也占了很大的篇幅。
现在算法竞赛题,就是两种,第一种,能够用生成函数找到递归式的,第二种,能够用状态空间+算子找到递归式的。
第二种题目比第一种题目难。
具体数学讲了太多的证明和计数,但是,怎么用生成函数找到递归式,却惜墨如金。
也没有讲第二种题目。
【 在 math1008 的大作中提到: 】
: 真正难的,就是很难找递推关系的,很难用生成函数找到递推式的。
: 组合数学这本书提到的覆盖、幻方、四色等问题(但是这本书根本没有给出解法),就是很难找到递推式的问题。
: 用我们专业理论和术语来说,在求解一个问题时,涉及两个方面:一是该问题的表示,如果一个问题找不到一个合适的表示方法,就谈不上对它求解;二是选择一种相对合适的求解方法。
: ...................
--
FROM 58.48.84.*
离散数学是一个总称,内容很多,总体上是理论研究(性质,比如我要设计一个并行计算体系结构,那么这个结构的性质如何,所以是一种分析研究),除了递推方程和生成函数这一部分,其它并不能直接用于竞赛,不知道要拐多少个弯。
刚瞄了一眼2023的模拟题,基本就是排列和组合生成、排序与存储、搜索。
当然,要生成排列和组合,就要知道一些基本概念。离散数学里面有关于排列组合概念和性质的理论知识,但是,生成排列组合的算法知识很少,还不如看组合数学呢。
不要看Richard A. Brualdi那本,看罗伯茨的应用组合数学。
排序和存储,先把数据结构搞懂。关于树的竞赛题,其背景是文件系统、数据库、检索。
【 在 math1008 的大作中提到: 】
: 结合你今天在儿教版的回复一起理解,意思是离散数学有用,但是用途不大,是吗
: 四、自己测评一下。找本人工智能概论和离散数学丢给孩子,知识表示、搜索、推理、集合、数理逻辑、图论、初等数论,这几章内容,如果不需要别人辅导就能够搞定,那么可以参加。
--
FROM 58.48.84.*
反正我手上十几本纸质书、三十来本电子书,都是你抄我、我抄你。
【 在 math1008 的大作中提到: 】
: 信奥发展几十年了,就是最新题型至少也有十几年了,市面上就没有讲解下面这个的教材吗,大学计算机系的或者门的算法竞赛的
: “现在算法竞赛题,就是两种,第一种,能够用生成函数找到递归式的,第二种,能够用状态空间+算子找到递归式的。”
--
FROM 58.48.84.*