历年国家集训队论文题目
NOI国家集训队论文分类(至2008)(摘抄自C博客)
摘抄自C博客组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》2007 - 周冬:《生成树的计数及其应用》2008 - 陈瑜希《Pólya计数法的应用》数位问题2009 - 高逸涵《数位计数问题解法研究》2009 - 刘聪《浅谈数位类统计问题》动态统计2004 - 薛矛:《解决动态统计问题的两把利刃》2007 - 余江伟:《如何解决动态统计问题》博弈2002 - 张一飞:《由感性认识到理性认识——透析一类搏弈游戏的解答过程》2007 - 王晓珂:《解析一类组合游戏》2009 - 曹钦翔《从“k倍动态减法游戏”出发探究一类组合游戏问题》2009 - 方展鹏《浅谈如何解决不平等博弈问题》2009 - 贾志豪《组合游戏略述——浅谈SG游戏的若干拓展及变形》母函数2009 - 毛杰明《母函数的性质及应用》拟阵2007 - 刘雨辰:《对拟阵的初步研究》线性规划2007 - 李宇骞:《浅谈信息学竞赛中的线性规划——简洁高效的单纯形法实现与应用》置换群2005 - 潘震皓:《置换群快速幂运算研究与探讨》问答交互2003 - 高正宇:《答案只有一个——浅谈问答式交互问题》猜数问题2003 - 张宁:《猜数问题的研究:<聪明的学生>一题的推广》2006 - 龙凡:《一类猜数问题的研究》数据结构数据结构2005 - 何林:《数据关系的简化》2006 - 朱晨光:《基本数据结构在信息学竞赛中的应用》2007 - 何森:《浅谈数据的合理组织》2008 - 曹钦翔《数据结构的提炼与压缩》结构联合2001 - 高寒蕊:《从圆桌问题谈数据结构的综合运用》2005 - 黄刚:《数据结构的联合》块状链表2005 - 蒋炎岩:《数据结构的联合——块状链表》2008 - 苏煜《对块状链表的一点研究》动态树2006 - 陈首元:《维护森林连通性——动态树》2007 - 袁昕颢:《动态树及其应用》左偏树2005 - 黄源河:《左偏树的特点及其应用》跳表2005 - 魏冉:《让算法的效率“跳起来”!——浅谈“跳跃表”的相关操作及其应用》2009 - 李骥扬《线段跳表——跳表的一个拓展》SBT2007 - 陈启峰:《Size Balance Tree》线段树2004 - 林涛:《线段树的应用》单调队列2006 - 汤泽:《浅析队列在一类单调性问题中的应用》哈希表2005 - 李羽修:《Hash函数的设计优化》2007 - 杨弋:《Hash在信息学竞赛中的一类应用》Splay2004 - 杨思雨:《伸展树的基本操作与应用》图论图论2005 - 任恺:《图论的基本思想及方法》模型建立2004 - 黄源河:《浅谈图论模型的建立与应用》2004 - 肖天:《“分层图思想”及其在信息学竞赛中的应用》网络流2001 - 江鹏:《从一道题目的解法试谈网络流的构造与算法》2002 - 金恺:《浅谈网络流算法的应用》2007 - 胡伯涛:《最小割模型在信息学竞赛中的应用》2007 - 王欣上:《浅谈基于分层思想的网络流算法》2008 - 周冬《两极相通——浅析最大—最小定理在信息学竞赛中的应用》最短路2006 - 余远铭:《最短路算法及其应用》2008 - 吕子鉷《浅谈最短径路问题中的分层思想》2009 - 姜碧野《SPFA算法的优化及应用》欧拉路2007 - 仇荣琦:《欧拉回路性质与应用探究》差分约束系统2006 - 冯威:《数与图的完美结合——浅析差分约束系统》平面图2003 - 刘才良:《平面图在信息学中的应用》2007 - 古楠:《平面嵌入》2-SAT2003 - 伍昱:《由对称性解2-SAT问题》最小生成树2004 - 吴景岳:《最小生成树算法及其应用》2004 - 汪汀:《最小生成树问题的拓展》二分图2005 - 王俊:《浅析二分图匹配在信息学竞赛中的应用》Voronoi图2006 - 王栋:《浅析平面Voronoi图的构造及应用》偶图2002 - 孙方成:《偶图的算法及应用》树树2002 - 周文超:《树结构在程序设计中的运用》2005 - 栗师:《树的乐园——一些与树有关的题目》路径问题2009 - 漆子超《分治算法在树的路径问题中的应用》最近公共祖先2007 - 郭华阳:《RMQ与LCA问题》划分问题2004 - 贝小辉:《浅析树的划分问题》数论欧几里得算法2009 - 金斌《欧几里得算法的应用》同余方程2003 - 姜尚仆:《模线性方程的应用——用数论方法解决整数问题》搜索搜索2001 - 骆骥:《由“汽车问题”浅谈深度搜索的一个方面——搜索对象与策略的重要性》2002 - 王知昆:《搜索顺序的选择》2005 - 汪汀:《参数搜索的应用》启发式2009 - 周而进《浅谈估价函数在信息学竞赛中的应用》优化2003 - 金恺:《探寻深度优先搜索中的优化技巧——从正方形剖分问题谈起》2003 - 刘一鸣:《一类搜索的优化思想——数据有序化》2006 - 黄晓愉:《深度优先搜索问题的优化技巧》背包问题2009 - 徐持衡《浅谈几类背包题》匹配2004 - 楼天城:《匹配算法在搜索问题中的巧用》概率概率2009 - 梅诗珂《信息学竞赛中概率问题求解初探》数学期望2009 - 汤可因《浅析竞赛中一类数学期望问题的解决方法》字符串字符串2003 - 周源:《浅析“最小表示法”思想在字符串循环同构问题中的应用》多串匹配2004 - 朱泽园:《多串匹配算法及其启示》2006 - 王赟:《Trie图的构建、活用与改进》2009 - 董华星《浅析字母树在信息学竞赛中的应用》后缀数组2004 - 许智磊:《后缀数组》2009 - 罗穗骞《后缀数组——处理字符串的有力工具》字符串匹配2003 - 饶向荣:《病毒的DNA———剖析一道字符匹配问题解析过程》2003 - 林希德:《求最大重复子串》动态规划动态规划2001 - 俞玮:《基本动态规划问题的扩展》2006 - 黄劲松:《贪婪的动态规划》2009 - 徐源盛《对一类动态规划问题的研究》状态压缩2008 - 陈丹琦《基于连通性状态压缩的动态规划问题》状态设计2008 - 刘弈《浅谈信息学中状态的合理设计与应用》树形DP2007 - 陈瑜希:《多角度思考创造性思维——运用树型动态规划解题的思路和方法探析》优化2001 - 毛子青:《动态规划算法的优化技巧》2003 - 项荣璟:《充分利用问题性质——例析动态规划的“个性化”优化》2004 - 朱晨光:《优化,再优化!——从《鹰蛋》一题浅析对动态规划算法的优化》2007 - 杨哲:《凸完全单调性的加强与应用》计算几何立体几何2003 - 陆可昱:《长方体体积并》2008 - 高亦陶《从立体几何问题看降低编程复杂度》计算几何思想2004 - 金恺:《极限法——解决几何最优化问题的捷径》2008 - 程芃祺《计算几何中的二分思想》2008 - 顾研《浅谈随机化思想在几何问题中的应用》圆2007 - 高逸涵:《与圆有关的离散化》半平面交2002 - 李澎煦:《半平面交的算法及其应用》2006 - 朱泽园:《半平面交的新算法及其实用价值》矩阵矩阵2008 - 俞华程《矩阵乘法在信息学中的应用》高斯消元2002 - 何江舟:《用高斯消元法解线性方程组》数学方法数学思想2002 - 何林:《猜想及其应用》2003 - 邵烜程:《数学思想助你一臂之力》数学归纳法2009 - 张昆玮《数学归纳法与解题之道》多项式2002 - 张家琳:《多项式乘法》数形结合2004 - 周源:《浅谈数形结合思想在信息学竞赛中的应用》黄金分割2005 - 杨思雨:《美,无处不在——浅谈“黄金分割”和信息学的联系》其他算法遗传算法2002 - 张宁:《遗传算法的特点及其应用》2005 - 钱自强:《关于遗传算法应用的分析与研究》信息论2003 - 侯启明:《信息论在信息学竞赛中的简单应用》染色与构造2002 - 杨旻旻:《构造法——解题的最短路径》2003 - 方奇:《染色法和构造法在棋盘上的应用》一类问题区间2008 - 周小博《浅谈信息学竞赛中的区间问题》序2005 - 龙凡:《序的应用》系2006 - 汪晔:《信息学中的参考系与坐标系》物理问题2008 - 方戈《浅析信息学竞赛中一类与物理有关的问题》编码与译码2008 - 周梦宇《码之道—浅谈信息学竞赛中的编码与译码问题》对策问题2002 - 骆骥:《浅析解“对策问题”的两种思路》优化算法优化2002 - 孙林春:《让我们做得更好——从解法谈程序优化》2004 - 胡伟栋:《减少冗余与算法优化》2005 - 杨弋:《从<小H的小屋>的解法谈算法的优化》2006 - 贾由:《由图论算法浅析算法优化》程序优化2006 - 周以苏:《论反汇编在时间常数优化中的应用》2009 - 骆可强《论程序底层优化的一些方法与技巧》语言C++2004 - 韩文弢:《论C++语言在信息学竞赛中的应用》策略策略2004 - 李锐喆:《细节——不可忽视的要素》2005 - 朱泽园:《回到起点——一种突破性思维》2006 - 陈启峰:《“约制、放宽”方法在解题中的应用》2006 - 李天翼:《从特殊情况考虑》2007 - 陈雪:《问题中的变与不变》2008 - 肖汉骏《例谈信息学竞赛分析中的“深”与“广”》倍增2005 - 朱晨光:《浅析倍增思想在信息学竞赛中的应用》二分2002 - 李睿:《二分法与统计问题》2002 - 许智磊:《二分,再二分!——从Mobiles(IOI2001)一题看多重二分》2005 - 杨俊:《二分策略在信息学竞赛中的应用》调整2006 - 唐文斌:《“调整”思想在信息学中的应用》随机化2007 - 刘家骅:《浅谈随机化在信息学竞赛中的应用》非完美算法2005 - 胡伟栋:《浅析非完美算法在信息学竞赛中的应用》2008 - 任一恒《非完美算法初探》提交答案题2003 - 雷环中:《结果提交类问题》守恒思想2004 - 何林:《信息学中守恒法的应用》极限法2003 - 王知昆:《浅谈用极大化思想解决最大子矩形问题》贪心2008 - 高逸涵《部分贪心思想在信息学竞赛中的应用》压缩法2005 - 周源:《压去冗余缩得精华——浅谈信息学竞赛中的“压缩法”》逆向思维2005 - 唐文斌:《正难则反——浅谈逆向思维在解题中的应用》穷举2004 - 鬲融:《浅谈特殊穷举思想的应用》目标转换2002 - 戴德承:《退一步海阔天空——“目标转化思想”的若干应用》2004 - 栗师:《转化目标在解题中的应用》类比2006 - 周戈林:《浅谈类比思想》分割与合并2006 - 俞鑫:《棋盘中的棋盘——浅谈棋盘的分割思想》2007 - 杨沐:《浅析信息学中的“分”与“合”》平衡思想2008 - 郑暾《平衡规划——浅析一类平衡思想的应用》。
历年国家集训队论文题目
1999年陈宏- 数据结构的选择与算法效率——从IOI98试题PICTURE谈起来煜坤- 把握本质,灵活运用——动态规划的深入探讨齐鑫- 搜索方法中的剪枝优化邵铮- 数学模型的建立、比较和应用石润婷- 隐蔽化、多维化、开放化──论当今信息学竞赛中数学建模的灵活性睢》?- 准确性、全面性、美观性——测试数据设计中的三要素周咏基- 论随机化算法的原理与设计2000年陈彧- 信息学竞赛中的思维方法方奇- 动态规划高寒蕊- 递推关系的建立及在信息学竞赛中的应用郭一- 数学模型及其在信息学竞赛中的应用江鹏- 探索构造法解题模式李刚- 动态规划的深入讨论龙翀- 解决空间规模问题的几种常用的存储结构骆骥- 数学模型的建立和选择施遥- 人工智能在围棋程序中的应用肖洲- 数据结构的在程序设计中的应用谢婧- 规模化问题的解题策略徐串- 论程序的调试技巧徐静- 图论模型的建立与转化杨江明- 论数学策略在信息学问题中的应用杨培- 非最优化算法初探张辰- 动态规划的特点及其应用张力- 类比思想在解题中的应用张一飞- 冗繁削尽留清瘦——浅谈信息的充分利用2001年高寒蕊- 从圆桌问题谈数据结构的综合运用符文杰- Pólya原理及其应用高岳- 中等硬度解题报告江鹏- 从一道题目的解法试谈网络流的构造与算法刘汝佳- 搬运工问题的启示李益明- 计算几何的相关问题李源- 树的枚举骆骥- 由“汽车问题”浅谈深度搜索的一个方面——搜索对象与策略的重要性毛子青- 动态规划算法的优化技巧俞玮- 基本动态规划问题的扩展张一飞- 求N!的高精度算法2002年戴德承- 退一步海阔天空——“目标转化思想”的若干应用方奇- 浅谈必要条件的应用符文杰- 排序网络何江舟- 用高斯消元法解线性方程组何林- 猜想及其应用黄芸- POI0110 跳舞蝇金恺- 浅谈网络流算法的应用李澎煦- 半平面交的算法及其应用李睿- 二分法与统计问题骆骥- 浅析解“对策问题” 的两种思路——从《取石子》问题谈起孙方成- 偶图的算法及应用孙林春- 让我们做得更好——从《Parity》的解法谈程序的优化王知昆- 搜索顺序的选择许智磊- 二分,再二分!――从Mobiles(IOI 2001)一题看多重二分顣F旻- 构造法——解题的最短路径张家琳- 多项式乘法张宁- 遗传算法的特点及其应用张一飞- 由感性认识到理性认识——透析一类搏弈游戏的解答过程周文超- 树结构在程序设计中的运用2003年方奇- 染色法和构造法在棋盘上的应用高正宇- 答案只有一个——浅谈问答式交互问题何林- 一类称球问题的解法侯启明- 信息论在信息学竞赛中的简单应用姜尚仆- 模线性方程的应用——用数论方法解决整数问题金恺- 探寻深度优先搜索中的优化技巧——从正方形剖分问题谈起雷环中- 结果提交类问题林希德- 求最大重复子串刘才良- 平面图在信息学中的应用刘一鸣- 一类搜索的优化思想——数据有序化陆可昱- 长方体体积并饶向荣- 病毒的DNA——剖析一道字符匹配问题解析过程邵烜程- 数学思想助你一臂之力王知昆- 浅谈用极大化思想解决最大子矩形问题伍昱- 由对称性解2-SAT问题项荣璟- 充分利用问题性质——例析动态规划的“个性化”优化许智磊- 浅谈补集转化思想在统计问题中的应用张宁- 猜数问题的研究张云亮- 论对算法的选择周源- 浅析“最小表示法”思想在字符串循环同构问题中的应用2004年何林- 信息学中守恒法的应用胡伟栋- 减少冗余与算法优化金恺- 极限法——解决几何最优化问题的捷径李锐喆- 细节——不可忽视的要素鬲融- 浅谈特殊穷举思想的应用周源- 浅谈数形结合思想在信息学竞赛中的应用朱晨光- 优化,再优化!肖天- “分层图思想”及其在信息学竞赛中的应用汪汀- 最小生成树问题的拓展吴景岳- 最小生成树算法及其应用栗师- 转化目标在解题中的应用薛矛- 解决动态统计问题的两把利刃黄源河- 浅谈图论模型的建立与应用楼天城- 匹配算法在搜索问题中的应用贝小辉- 浅析树的划分问题林涛- 线段树的应用杨思雨- 伸展树的基本操作与应用许智磊- 后缀数组朱泽园- 多串匹配算法及其启示韩文弢- 论C++语言在信息学竞赛中的应用2005年龙凡- 序的应用魏冉- 浅谈“跳跃表”的相关操作及其应用任恺- 图论的基本思想及方法杨俊- 二分策略在信息学竞赛中的应用张伟达- 用改进算法的思想解决规模维数增大的问题黄刚- 数据结构的联合杨弋- 从“小H的小屋”的解法谈算法的优化朱晨光- 浅析倍增思想在信息学竞赛中的应用李羽修- Hash函数的设计优化王俊- 浅析二分图匹配在信息学竞赛中的应用唐文斌- 正难则反——浅谈逆向思维在解题中的应用黄源河- 左偏树的特点及其应用钱自强- 遗传算法应用的分析与研究杨思雨- 浅谈“黄金分割”和信息学的联系潘震皓- 置换群快速幂运算研究与探讨胡伟栋- 非完美算法在信息学竞赛中的应用何林- 数据关系的简化汪汀- 参数搜索的应用周源- 浅谈信息学竞赛中的“压缩法”朱泽园- 回到起点---- 一种突破性思维。
国家集训队2004论文集 朱晨光
优化,再优化!——从《鹰蛋》一题浅析对动态规划算法的优化安徽省芜湖市第一中学朱晨光目录Ø关键字 (2)Ø摘要 (2)Ø正文 (2)n引言 (2)n问题 (2)n分析 (3)u算法一 (3)u算法二 (4)u算法三 (4)u算法四 (6)u小结 (7)u算法五 (7)Ø总结 (10)Ø结束语 (11)关键字优化动态规划模型摘要本文就Ural 1223 《鹰蛋》这道题目介绍了五种性能各异的算法,并在此基础上总结了优化动态规划算法的本质思想及其一般方法。
全文可以分为四个部分。
第一部分引言,阐明优化动态规划算法的重要性;第二部分给出本文讨论的题目;第三部分详细讨论这道题目五种不同的动态规划算法,并阐述其中的优化思想;第四部分总结全文,再次说明对于动态规划进行优化的重要性,并分析优化动态规划的本质思想与一般方法。
正文引言在当今的信息学竞赛中,动态规划可以说是一种十分常用的算法。
它以其高效性受到大家的青睐。
然而,动态规划算法有时也会遇到时间复杂度过高的问题。
因此,要想真正用好用活动态规划,对于它的优化方法也是一定要掌握的。
优化动态规划的方法有许多,例如四边形不等式、斜率优化等。
但是这些方法只能对某些特定的动态规划算法进行优化,尚不具有普遍的意义。
本文将就《鹰蛋》这道题目做较为深入的分析,并从中探讨优化动态规划的本质思想与一般方法。
问题有一堆共M个鹰蛋,一位教授想研究这些鹰蛋的坚硬度E。
他是通过不断从一幢N层的楼上向下扔鹰蛋来确定E的。
当鹰蛋从第E层楼及以下楼层落下时是不会碎的,但从第(E+1)层楼及以上楼层向下落时会摔碎。
如果鹰蛋未摔碎,还可以继续使用;但如果鹰蛋全碎了却仍未确定E,这显然是一个失败的实验。
教授希望实验是成功的。
例如:若鹰蛋从第1层楼落下即摔碎,E=0;若鹰蛋从第N层楼落下仍未碎,E=N。
这里假设所有的鹰蛋都具有相同的坚硬度。
给定鹰蛋个数M与楼层数N。
国家集训队2009论文集后缀数组——处理字符
后缀数组 罗穗骞
例 10:长度不小于 k 的公共子串的个数(pku3415) ……………23 2.4 多个字符串的相关问题 …………………………………………………23
例 11:不小于 k 个字符串中的最长子串(pku3294) ……………………24 例 12:每个字符串至少出现两次且不重叠的最长子串(spoj220)……24 例 13:出现或反转后出现在每个字符串中的最长子串(pku3294)……24 三、结束语 …………………………………………………………………………25 参考文献 ……………………………………………………………………………25 致谢 …………………………………………………………………………………25
目录
后缀数组 罗穗骞
摘要 …………………………………………………………………………………4 关键字 ………………………………………………………………………………4 正文 …………………………………………………………………………………4 一、后缀数组的实现 …………………………………………………………………4
符 串 r 的 从 第 i 个 字 符 开 始 的 后 缀 表 示 为 Suffix(i) , 也 就 是 Suffix(i)=r[i..len(r)]。
大小比较:关于字符串的大小比较,是指通常所说的“字典顺序”比较,也 就是对于两个字符串 u、v,令 i 从 1 开始顺次比较 u[i]和 v[i],如果 u[i]=v[i]则令 i 加 1,否则若 u[i]<v[i]则认为 u<v,u[i]>v[i]则认为 u>v (也就是 v<u),比较结束。如果 i>len(u)或者 i>len(v)仍比较不出结果,那 么 若 len(u)<len(v) 则 认 为 u<v , 若 len(u)=len(v) 则 认 为 u=v , 若 len(u)>len(v)则 u>v。
国家集训队2004论文集_林涛
线段树的应用广西柳铁一中林涛【摘要】在竞赛解题中,常遇到与区间有关的操作,比如统计若干矩形并的面积,记录一个区间的最值、总量,并在区间的插入、删除和修改中维护这些最值、总量。
线段树拥有良好的树形二分结构,能够高效的完成这些操作,本文将介绍线段树的各种操作以及一些推广。
本文通过3个例子:《蛇》、《空心长方体》、《战场统计系统》,讲述线段树中基本的插入、删除、查找操作,和不规则的修改和删除操作,以及到二维的推广。
关键字:线段树二分子树收缩叶子释放面积树【正文】1. 线段树的定义及特征定义1:线段树一棵二叉树,记为T (a,b),参数a,b表示该节点表示区间[a,b]。
区间的长度b-a记为L。
递归定义T[a,b]:若L>1 :[a, (a+b) div 2]为T的左儿子[(a+b) div 2,b]为T的右儿子。
若L=1 :T为一个叶子节点。
表示区间[1, 10]的线段树表示如下:(以下取对数后均向上取整)定理1:线段树把区间上的任意一条线段都分成不超过2log L条线段证明:(1)在区间(a,b)中,对于线段(c,d),如果(c<=a) 或(d>=b),那么线段在(a,b)中被分为不超过log(b-a)。
用归纳法证明,如果是单位区间,最多被分为一段,成立。
如果区间(a,b)的左儿子与右儿子成立,那么如果当c<=a时,1.若d<=(a+b)div2那么相当与其左儿子分该线段,所分该线段数树不超过log((a+b)div 2-a),即不超过log(b-a),成立。
2.若d>(a+b) div 2那么相当于该线段被分为它左儿子表示的线段,加上右儿子分该线段,线段数不超过1+log(b-(a+b) div 2),也不超过log(b-a),成立。
对于d>=b的情况证明类似,不再赘述。
(2)在区间(a,b)中,对于任意线段也用归纳法证明。
对于单位区间,最多分为一段,成立。
国家集训队论文:浅谈信息学竞赛中的“0”和“1”
01
树状数组中 的每一个元 素的编号变 成了二制
02
编码,再通过 这些二进制编 码末尾的0的 个数来
03
决定存储什 么信息,假 设节点编号 为x,那么这
04
个节点存储 数据的区间 为2k(其中 k为x二进制
05
末尾0 的个 数)个元素 。
06
又由于每个十进制 数转化成二进制位 的话,1的个数最 多只有O(logN)个, 所以,复杂度只有 O(logN)。
2k:X and –X
具体操作:
1 插入或删除: While
2 查询: While x>0
x<=max do
do
Begin
Begin
C[x]:=c[x]+ delta;
Sum:=sum+ c[x];
X:=x+(x and –x);
X:=x-(x and –x);
End;
End;
单击添加标题
Add a title
•模型转化 Add a title
•01二叉树
例题一: Matrix
有一个M*N的矩阵,每一 个格子中的数是1或0,初 始时为0。有两种操作:
修改一个子矩阵, 将子矩阵中的数字 全部01取反。
查询第x行第y列的 格子中的数字。
01
02
如果给定的是一 个长度为N的一 排格子。
从而达到转十为二,事半功倍的效果!
欢迎提问~
Thank You!
每次询问的时候只 需计算出Sumx就可 以 求出第x个格子被修 改过几次。
查询
01 寻根溯源
02
用上面的方法看 看能否解决原来 的问题。
推而广之
怎么办呢???
国家集训队2007论文集8.陈瑜希《多角度思考
多角度思考创造性思维----运用树型动态规划的解题思路和方法的探析关键字树结构动态规划信息学奥赛摘要在近几年信息学竞赛中,需要运用树型动态规划解决的问题频繁出现,这些问题变化繁多、各类思想精华渗透其中,对选手分析问题的能力和解题创造性思维有着较高的要求,因此它在竞赛中占据了重要地位。
本文将分析近几年国际比赛、全国比赛中的树型动态规划问题,重点探讨几种树型动态规划问题的解法,并从这些问题的分析过程中,提炼出解决这类问题的思想方法——多角度思考,创造性思维。
旨在论述解决问题的思维过程,而不仅仅是解题方法。
正文信息学竞赛中通常会出现这样的问题:给一棵树,要求以最少的代价(或取得最大收益)完成给定的操作。
有很多问题都是在树和最优性的基础上进行了扩充和加强,从而变成了棘手的问题。
这类问题通常规模较大,枚举算法的效率无法胜任,贪心算法不能得到最优解,因此要用动态规划解决。
和一般动态规划问题一样,这类问题的解决要考虑3步。
1、确立状态几乎所以的问题都要保存以某结点为根的子树的情况,但是要根据具体问题考虑是否要加维,加几维,如何加维。
2、状态转移状态转移的变化比较多,要根据具体问题具体分析,这也是本文例题分析的重点。
3、算法实现由于树的结构,使用记忆化搜索比较容易实现。
由于模型建立在树上,即为树型动态规划。
顾名思义,树型动态规划就是在“树”的数据结构上的动态规划。
大部分动态规划题都是线性的,线性的动态规划有二种方向,既向前和向后,相应的线性的动态规划有二种方法,既顺推与逆推。
而树型动态规划是建立在树上的,也相应的有两个方向:1. 根—>叶:既根传递有用的信息给子节点,完后根得出最优解的过程。
2. 叶->根:既根的子节点传递有用的信息给根,完后根得出最优解的过程。
这类的习题比较的多,应用比较广泛当然,还有一类问题,同时需要两种遍历方向,本文的第一题就属于这类。
问题描述Chris 家的电话铃响起了,里面传出了Chris 的老师焦急的声音:“喂,是Chris 的家长吗?你们的孩子又没来上课,不想参加考试了吗?”一听说要考试,Chris 的父母就心急如焚,他们决定在尽量短的时间内找到Chris 。
国家集训队2007论文集1.高逸涵《与圆有关的
与圆有关的离散化方法清华附中高逸涵(gaoyihan@)【摘要】在计算几何问题中,离散化方法是一种较为通用的算法,在解决一些与矩形等直线型有关的题目时,能大大降低算法的时空复杂度。
但当问题与圆相关时,直接离散化法有较大困难。
本文讨论了离散化法在这类问题中的方法,然后通过几道例题说明如何利用离散化法解决与圆有关的计算几何问题。
【关键字】计算几何圆离散化【正文】引言对于绝大多数算法来说,连续的数据并不是一个合适的处理对象,,必须将其离散化才能处理。
高效的离散化方法可以降低问题复杂度,因此如何实现离散化算法是一个有意义的课题。
本文通过计算几何中与圆有关问题的分析,研究离散化方法的应用形式。
我们先来看一下离散化法是如何解决一道求矩形面积并的题目的:平面上有3个矩形如图,分别为(1,1)-(4,4)、(2,3)-(5,5)、(3,4)-(6,6)。
要求出三个矩形的面积并。
图1我们利用离散化将连续平面纵轴划分为5个区间:(1—2)、(2—3)、(3—4)、(4—5)、(5—6)。
可以看到,在同一区间内的属性一致,即横轴上被矩形所覆盖的区域是相同的,于是每一区域的面积可以通过乘法很快求出,然后再把所有区间的面积求和即可。
由此可以看出离散化可以降低复杂性的优势。
方法当计算的对象不是矩形而是圆时,例如求3个圆的合并面积,由于圆的边界是一条曲线,不存在固定的矩形区域,似乎不可能利用上述离散化方法来分成类似的各个区域。
但是如下图,当我们把纵轴分成如下四个区间时,整个图形被我们分成了6部分,并且每一部分都由简单的弓形和梯形组成,构成复合属性的离散区域,同样可以使问题简化。
这提示我们,可以把图形切成若干相对简单的块,使得每一部分的面积都很容易求出。
这便是离散化在与圆有关的计算几何中最基础的应用。
图2算法的一般步骤:1.根据问题将平面中的圆分割成若干区域,使每个区域具有一定简单的粗粒属性。
一般可以用直线分割。
2.根据属性确定区域内圆的具体算法,计算每个区域中结果。
国家集训队2009论文集浅谈几类背包题
浅谈几类背包题浙江省温州中学徐持衡指导老师:舒春平2008年12月目录摘要 (3)关键字 (3)正文 (4)一、引言 (4)二、背包的基本变换 (5)①完全背包 (5)②多次背包 (5)③单调队列优化☆ (6)三、其他几类背包问题 (8)①树形依赖背包(获取学分)☆ (8)②PKU3093☆ (11)四、总结 (12)附录 (13)参考文献 (13)文中原题 (13)摘要背包问题作为一个经典问题在动态规划中是很基础的一个部分,然而以0-1背包问题为原题,衍生转变出的各类题目,可以说是千变万化,当然解法也各有不同,如此就有了继续探究的价值。
本文就4道背包变化的题做一些探讨研究,提出本人的一些做法,希望能起到抛砖引玉的作用。
关键字动态规划背包优化正文一、引言背包问题是运筹学中的一个经典的优化难题,是一个NP-完全问题,但其有着广泛的实际应用背景,是从生活中一个常见的问题出发展开的:一个背包,和很多件物品,要在背包中放一些物品,以达到一定的目标。
在信息学中,把所有的数据都量化处理后,得到这样的一个问题:0-1 背包问题:给定n 件物品和一个背包。
物品i的价值是W i,其体积为V i,背包的容量为C。
可以任意选择装入背包中的物品,求装入背包中物品的最大总价值。
在选择装入背包的物品时,对每件物品i ,要么装入背包,要么不装入背包。
不能将物品i 多次装入背包,也不能只装入部分物品i (分割物品i)。
因此,该问题称为0-1 背包问题。
用于求解0-1背包问题的方法主要有回溯算法、贪婪算法、遗传算法、禁忌搜索算法、模拟退火算法等。
在高中阶段,我们所谓的经典0-1背包问题,保证了所有量化后的数据均为正整数,即是一个特殊的整数规划问题,本文中如无特殊说明均以此为前提。
其经典的O(n*C)动规解法是:状态是在前i件物品中,选取若干件物品其体积总和不大于j,所能获得的最大价值为F i[j],当前的决策是第i件物品放或者不放,最终得到转移方程:F i[j] = F i-1[j] (V i>j>=0)F i[j] = max{ F i-1[j] , F i-1[j-V i]+W i } (C>=j>=V i)其中由于F i只与F i-1有关,可以用滚动数组来节省程序的空间复杂度。
国家集训队2004论文集_汪汀
可知如果(+a1,-b2)和(+a2,-b1)都是 T 的可行交换,则有ω(b2)≤ω(a1),ω(b1)≤ω (a2),故ω(b1)+ω(b2)≤ω(a1)+ω(a2); 否则,或者(+a1,-b2)或者(+a2,-b1)不是 T 的 可行交换,根据引理 1,T’=T+{a1,a2}-{b1,b2}仍然是 T 的 k 度限制生成树,则ω (T)≤ω(T’),故ω(b1)+ω(b2)≤ω(a1)+ω(a2)。 ⑵充分性
综上,求最小 k 度限制生成树算法总的时间复杂度为 O(Vlog2V+E+kV)。
3、次小生成树
3.1、次小生成树的定义
设 G=(V,E,w)是连通的无向图,T 是图 G 的一个最小生成树。如果有另一棵树 T1,满 足不存在树 T’,ω(T’)<ω(T1) ,则称 T1 是图 G 的次小生成树。
3.2、求解次小生成树的算法
通过上述定理,我们就有了解决次小生成树问题的基本思路。 首先先求该图的最小生成树 T。时间复杂度 O(Vlog2V+E) 然后,求 T 的邻集中权值和最小的生成树,即图 G 的次小生成树。 如果只是简单的枚举,复杂度很高。首先枚举两条边的复杂度是 O(VE),再判断该交换是否 可行的复杂度是 O(V),则总的时间复杂度是 O(V2E)。这样的算法显得很盲目。经过简单的 分析不难发现,每加入一条不在树上的边,总能形成一个环,只有删去环上的一条边,才能 保证交换后仍然是生成树,而删去边的权值越大,新得到的生成树的权值和越小。我们可以 以此将复杂度降为 O(VE)。这已经前进了一大步,但仍不够好。 回顾上一个模型——最小度限制生成树,我们也曾面临过类似的问题,并且最终采用动态规 划的方法避免了重复计算,使得复杂度大大降低。对于本题,我们可以采用类似的思想。首 先做一步预处理,求出树上每两个结点之间的路径上的权值最大的边,然后,枚举图中不在
国家集训队2004论文集 韩文韬
类型 双目 双目 双目 双目 双目 双目 双目 双目 单目 双目 双目 双目 双目 双目 单目
作用 arg1 == arg2 arg1 != arg2 arg1 > arg2 arg1 < arg2 arg1 >= arg2 arg1 <= arg2 arg1 && arg2 arg1 || arg2 !arg arg1 + arg2 arg1 - arg2 arg1 * arg2 arg1 / arg2 arg1 % arg2 -arg
更多关于迭代器的信息
指针类型就是一种特殊的随机迭代器类型. 对于一般的迭代器,这些功能都是通过操 作符重载来实现的.
更多关于迭代器的信息
各种迭代器类型之间的关系:
输出迭代器 前向迭代器 输入迭代器 双向迭代器 随机迭代器
迭代器的作用
访问元素 算法与容器之间的纽带
模板类pair
template<class T1, class T2> struct pair { typedef T1 first_type; typedef T2 second_type; T1 first; T2 second; pair() : first(T1()), second(T2()) { } pair(const T1& x, const T2& y) : first(x), second(y) { } template<class U, class V> pair(const pair<U, V>& p) : first(p.first), second(p.second) { } };
国家集训队2002论文集 方奇
浅谈必要条件的应用广东北江中学方奇【关键字】命题必要条件效率精确【摘要】必要条件是命题之间的一种逻辑关系。
在解题过程中若能利用好必要条件,将有助于我们提高算法效率。
针对必要条件,本文先阐述了其定义,然后结合其特点集中分析了它在解各类问题中的应用,指出利用必要条件关键在于“减少冗余,体现本质”。
最后总结出一些寻找必要条件的经验。
【正文】在现实生活中,许多问题错综复杂,体现在信息学问题上,就会导致我们难以从纷繁的条件关系中建立有效的数学模型进行求解。
有时,准确地应用必要条件,有助于我们揭示问题的本质或简化原有模型,从而找到高效的解决方法。
下面,我们先来看看什么是必要条件。
一必要条件的定义数学上,判断真假的语句叫做命题。
常用小写拉丁字母p、q、r、s……来表示。
如果由命题p经过推理可以得出命题q,也就是说,“如果p成立,那么q 成立”,则记为 p=>q一般地,如果已知 p=>q,那么我们说,p是q条件,q是p的必要条件。
例如,“x2>0”是“x>0”的必要条件。
在这里,“x2>0”的解集包含了“x>0”的解集。
{x︱x>0}∈{x︱x2>0}。
用文氏图表示:二必要条件的应用在信息学问题中,必要条件有着广泛的应用,主要体现在下面两个方面。
§1 缩小求解范围大部分问题所要求解的往往是符合某一些条件的方案或具体数值。
将这些条件命题记为p,其解集用A表示。
回想我们的解题思路,当然不能一下就知道A 的确切解,而总是通过已知条件q在较大的既定范围内B运用各种方法,如枚举、搜索、动态规划、贪心等等从中进行筛选,最终找到符合p的解集A。
在这一过程中,B包括了A,A必也符合条件q,有p=>q,q是p的必要条件。
我们从比较“宽松”的条件q入手,在B中寻找A,使其满足比较“苛刻”的条件p。
可以看到,开始界定的必要条件q的“宽松”程度,即B的范围大小直接影响着解决问题的效率。
国家集训队2009论文集从“k倍动态减法游戏
1.2.组合游戏需要解决的问题
由于组合游戏是一个双方博弈的游戏, 所以对于一个游戏的研究一般需要回
共 44 页-第 2 页
NOI2009 冬令营论文
从“k 倍动态减法游戏”出发探究一类组合游戏问题
答两个问题:谁有必胜策略?必胜策略是什么? 而在信息竞赛学的问题中需要解决的问题,也与此相对应,分三个层次: (1)判断谁有必胜策略; (2)寻找单回合的必胜选择; (3)维护多回合的必胜选择(交互题涉及) 。
1(if _(m, n) _ is _ an _ N position ) NP(m,n)= ,NP(m,n)关于 n 单调不减。 0(if _(m, n) _ is _ a _ P position )
这是因为若正整数 m0、n0 使得 NP(m0,n0)=1,则对于任意 n>n0,m=m0 都有 NP(m,n)=1。这是因为,状态(m0,n0)时玩家可以完成的操作,在状态(m,n)也允许 操作(这利用了 n>n0) ,且到达相同的状态(这利用 m=m0)。
S ( x) S ( y) 1 ,所以 S ( x) (T ( x)) 。有很多例子中, S ( x) (T ( x)) ,下文中
将会提及的“捡石子游戏”就是一个这样的例子;但是,在更多的游戏中
S ( x) (T ( x)) ,例如在本文主要讨论的“k 倍动态减法游戏”, S ( x) (T ( x) 2 ) ,
3.2.NP 状态定理:
定理: P 状态是“胜利终止状态”或者它的一切后继都为 N 状态, N 状态是“失 败终止状态”或拥有至少一个后继是 P 状态。
3.3.通式的动态规划解法
根据上面的定理,可以利用动态规划求得每个状态是 P 状态还是 N 状态。 具体的实现方法,可以按照图的拓扑逆序倒推(常用方法) ,也可以从初状态出 发进行记忆化搜索(这个留在后面讨论) 。用递推实现,我们不难设计出下面算 法: 步骤 1:把所有“胜利终止状态”标记为 P 状态,“失败终止状态”标记为 N 状 态。 步骤 2:找到所有的未定状态中,所有后继都被确定是 N 状态的状态,设置 为 P 状态。
国家集训队2004论文集_周源
浅谈数形结合思想在信息学竞赛中的应用安徽省芜湖一中周源目录目录 (1)摘要 (2)关键字 (2)引子 (3)以形助数 (3)[例一]Raney引理的证明 (3)[题意简述] (3)[分析] (3)目标图形化 (3)小结 (4)[例二]最大平均值问题(USACO 2003 March Open) (4)[题意简述] (4)[分析] (5)目标图形化 (5)构造下凸折线 (5)维护下凸折线 (6)最后的优化:利用图形的单调性 (7)小结 (7)以数助形 (7)[例三]画室(POI oi V Stage I) (8)[题意简述] (8)[分析] (8)目标数值化 (9)动态规划解题 (9)小结 (10)总结 (10)附录 (11)关于2003年上海市选拔赛题Sequence (11)[题意简述] (11)[分析] (11)论文附件 (12)参考文献 (12)摘要数与形是数学中两个最古老而又最基本的对象,数形结合又是一种重要的数学思想。
本文主要以当今信息学奥赛中几道试题为例,从以形助数和以数助形两个侧重点讨论了数形结合思想在信息学竞赛解题中广阔的应用前景。
最后文章分析指出数形结合思想的两个重要特性并由此提出“数形结合”重在有机的结合,希望对同学们在实际比赛中灵活的运用数形结合思想有一些帮助。
关键字信息学竞赛数学思想数形结合思想以数助形以形助数辩证矛盾多元性个体差异性思维、编程、时间、空间复杂度引子数与形是数学中两个最古老而又最基本的对象,数形结合又是一种重要的数学思想。
在当今信息学竞赛中,某些纷繁复杂的试题背后,往往蕴含着丰富的几何背景,而计算几何类问题却又需要借助计算机强大的实数运算能力。
正如华罗庚先生所说的“数形结合千般好”,在算法和程序设计中,巧妙地运用数形结合思想,可以顺利的破解问题,化难为易,找到问题的解题思路。
数形结合思想常包括以形助数、以数助形两个方面。
以形助数正如前文所述,一些试题中繁杂的代数关系身后往往隐藏着丰富的几何背景,而借助背景图形的性质,可以使那些原本复杂的数量关系和抽象的概念,显得直观,从而找到设计算法的捷径。
国家集训队2009论文集分治算法在树的路径问
1
IOI2009 中国国家集训队论文
长沙市雅礼中学 漆子超
【目录】
【序言】........................................................................................................................ 3 【正文】........................................................................................................................ 4 一.树的分治算法.................................................................................................... 4 基于点的分治:.............................................................................................. 4 基于边的分治:.............................................................................................. 4 效率分析:...................................................................................................... 5 【例 1】树中点对统计................................................................................... 8 算法分析................................................................................................... 8 【例 2】Free Tour 2 ...................................................................................... 10 算法分析................................................................................................. 10 【本节小结】................................................................................................ 13 二.树的路径剖分算法:................................................................................... 14 【例 3】Query On a Tree.............................................................................. 14 算法分析................................................................................................. 14 引入路径剖分......................................................................................... 14 轻重边路径剖分..................................................................................... 15 【例 4】黑白树 ........................................................................................... 17 算法分析................................................................................................. 17 【小结】........................................................................................................ 18 路径剖分与树的分治的联系:.................................................................... 19 【例 5】Query On a Tree Ⅳ ........................................................................ 20 算法分析................................................................................................. 20 【本节小结】................................................................................................ 23 三.树的分治的进一步探讨:........................................................................... 24 如何改进基于边的分治的时间复杂度........................................................ 24 使用基于边的分治解决【例 2】................................................................. 26 使用基于边的分治解决【例 5】................................................................. 27 四.全文总结....................................................................................................... 28 【参考文献】.............................................................................................................. 29 【感谢】...................................................................................................................... 29 【附录】...................................................................................................................... 29
国家集训队2007论文集8.杨哲《凸完全单调性
四边形不等式、凸完全单调性与决 策单调性,通常用B[i]记录使决策i比所有之前的 决策j (j < i)要好的最小的x,即B[i] = min{x : t(i, x) < t(j, x)对所有j < i均成立}。 根据决策的单调性,决策i比所有之前的决策j (j < i)要 好等价于B[i] x。 如果对某个(i, j) (i < j),B[i] B[j],则说明决策i是无用 的。 于是任何时刻,假设所有有用决策为 i1, i2, … , ik,满足 i1 < i2 < · < ik,则B[i1] < B[i2] < · <B[ik]。 · · · ·
选取适当的h(x)加速算法
容易发现,这里的权函数是凸的,但是直接利用 第一节的方法只能得到O(kn log n) 的算法。利用 第二节的方法可得,在计算d[k, x]时
决策j比i好 T j - Ti Pj -1 - Pi -1 Sx
所以令 g (i, j) P - P ,h(x) = Sx。 j -1 i -1 假设此时的决策序列为i1, i2, … , ik,i1 > i2 > · > · · il,g(i0, i1) < g(i1, i2) < · < g(il, il)。 · · 1
四边形不等式、凸完全单调性与决 策单调性
假设可以在T单位时间内求出y = min{y : t(x, y) < t(ik,y)}。 那么如果y B[ik],一定有B[x] B[ik]。于是ik是无用决 策,这时应当在决策序列中删去这个ik(只需要让k ← k - 1)。继续这个过程,直到min{y : t(x, y) < t(ik,y)} > B[ik]。此时,B[x] = y(因为不可能再小),并且x应当 被添加到这个决策序列的末尾。 容易发现,用栈可以很好的完成这个序列的维护,由于 每个决策至多进出栈一次,每个决策出栈至多消耗T单 位时间,于是维护序列的时间复杂度是O(nT)。又因为 决策的单调性,查找合适决策的时间复杂度是O(n)的, 所以总的时间复杂度是O(nT)。
国家集训队2006论文集 王赟
它的路径字符串本身就是一个不良单词 ,或 它的路径字符串的后缀对应的结点是危险结点。
于是问题2转化为:如何求一个结点的后缀结点?
Trie图的构建(计算后缀结点)
根结点的后缀结点是它本身。 处于trie树第二层的结点的后缀结点也是根结点。 对于再往下的某个结点,设它的路径字符串的最后一个 字符为c,那么这个结点的后缀为从它在trie树中父结点 的后缀结点出发,沿标有c的边走一步后到达的结点。 (下文中称从x结点出发,沿标有字符c的边走一步到达 的结点为x的c孩子) 现在,问题2进一步转化为:如果它的父结点的后缀结 点w没有c孩子怎么办呢?我们看到,两个问题已经合而 为一了!
Trie图的活用(例2的遗留问题)
例2的字符集虽然只有26个字母,但trie图中结 点的数目可能达到1,000,000,内存复杂度太高。 这个问题留待第三部分(trie图的改进)解决。
Trie图的活用(BFS序的应用)
通过《字谜》一题我们学会了如何在trie图中记下更多的 信息。下面简述一下对BFS序的应用。 在做多模式匹配时,有时仅仅找到不良单词是不够的, 还要统计出每个单词出现的次数。进行这项工作时,我 们并不需要判断每个结点的危险性,而只需累加经过每 个结点的次数。但这时有单词对应的结点的访问次数并 不就是这个单词出现的次数,比如在图2中,单词a出现 时光标完全可能在结点ba上。因此我们自底向上地把每 个结点的访问次数加到它的后缀结点上。这样处理之后, 有单词对应的结点的访问次数就代表这个单词出现的次 数了。
Trie图的活用(例2)
【例2】字谜(题目来源:SPOJ WPUZZLES) 【题目描述】给定一个L行C列的、由大写字母构成的矩阵, 以及W个单词。每个单词可在矩阵中的任何位置朝着任 何方向出现,且仅出现一次。编程找出每个单词的首字 母在矩阵中的位置,以及单词的朝向。 【输入(标准输入)】第一行为一个整数T,表示数据的 组数。下面有T组数据。每组数据中: 第1行为三个不超过1000的整数L、C、W。 下面L行,每行C个大写字母,表示矩阵。 下面W行,每行一个单词。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1999年
陈宏- 数据结构的选择与算法效率——从IOI98试题PICTURE谈起
来煜坤- 把握本质,灵活运用——动态规划的深入探讨
齐鑫- 搜索方法中的剪枝优化
邵铮- 数学模型的建立、比较和应用
石润婷- 隐蔽化、多维化、开放化──论当今信息学竞赛中数学建模的灵活性睢》?- 准确性、全面性、美观性——测试数据设计中的三要素
周咏基- 论随机化算法的原理与设计
2000年
陈彧- 信息学竞赛中的思维方法
方奇- 动态规划
高寒蕊- 递推关系的建立及在信息学竞赛中的应用
郭一- 数学模型及其在信息学竞赛中的应用
江鹏- 探索构造法解题模式
李刚- 动态规划的深入讨论
龙翀- 解决空间规模问题的几种常用的存储结构
骆骥- 数学模型的建立和选择
施遥- 人工智能在围棋程序中的应用
肖洲- 数据结构的在程序设计中的应用
谢婧- 规模化问题的解题策略
徐串- 论程序的调试技巧
徐静- 图论模型的建立与转化
杨江明- 论数学策略在信息学问题中的应用
杨培- 非最优化算法初探
张辰- 动态规划的特点及其应用
张力- 类比思想在解题中的应用
张一飞- 冗繁削尽留清瘦——浅谈信息的充分利用
2001年
高寒蕊- 从圆桌问题谈数据结构的综合运用
符文杰- Pólya原理及其应用
高岳- 中等硬度解题报告
江鹏- 从一道题目的解法试谈网络流的构造与算法
刘汝佳- 搬运工问题的启示
李益明- 计算几何的相关问题
李源- 树的枚举
骆骥- 由“汽车问题”浅谈深度搜索的一个方面——搜索对象与策略的重要性毛子青- 动态规划算法的优化技巧
俞玮- 基本动态规划问题的扩展
张一飞- 求N!的高精度算法
2002年
戴德承- 退一步海阔天空——“目标转化思想”的若干应用
方奇- 浅谈必要条件的应用
符文杰- 排序网络
何江舟- 用高斯消元法解线性方程组
何林- 猜想及其应用
黄芸- POI0110 跳舞蝇
金恺- 浅谈网络流算法的应用
李澎煦- 半平面交的算法及其应用
李睿- 二分法与统计问题
骆骥- 浅析解“对策问题” 的两种思路——从《取石子》问题谈起孙方成- 偶图的算法及应用
孙林春- 让我们做得更好——从《Parity》的解法谈程序的优化
王知昆- 搜索顺序的选择
许智磊- 二分,再二分!――从Mobiles(IOI 2001)一题看多重二分顣F旻- 构造法——解题的最短路径
张家琳- 多项式乘法
张宁- 遗传算法的特点及其应用
张一飞- 由感性认识到理性认识——透析一类搏弈游戏的解答过程周文超- 树结构在程序设计中的运用
2003年
方奇- 染色法和构造法在棋盘上的应用
高正宇- 答案只有一个——浅谈问答式交互问题
何林- 一类称球问题的解法
侯启明- 信息论在信息学竞赛中的简单应用
姜尚仆- 模线性方程的应用——用数论方法解决整数问题
金恺- 探寻深度优先搜索中的优化技巧——从正方形剖分问题谈起雷环中- 结果提交类问题
林希德- 求最大重复子串
刘才良- 平面图在信息学中的应用
刘一鸣- 一类搜索的优化思想——数据有序化
陆可昱- 长方体体积并
饶向荣- 病毒的DNA——剖析一道字符匹配问题解析过程
邵烜程- 数学思想助你一臂之力
王知昆- 浅谈用极大化思想解决最大子矩形问题
伍昱- 由对称性解2-SAT问题
项荣璟- 充分利用问题性质——例析动态规划的“个性化”优化
许智磊- 浅谈补集转化思想在统计问题中的应用
张宁- 猜数问题的研究
张云亮- 论对算法的选择
周源- 浅析“最小表示法”思想在字符串循环同构问题中的应用
2004年
何林- 信息学中守恒法的应用
胡伟栋- 减少冗余与算法优化。