摘要:
在信息学竞赛短暂的历史中,伴随着计算机科学领域的突飞猛进,算法和数据结构的难度和广度都不断地发展,从网络流、平衡树,新的算法和数据结构不断地被纳入大纲。动态规划无疑是其中一颗璀璨的明星,在信息学竞赛的舞台上绽放出夺目的光彩。IOI94的《数字三角形》,第一次将动态规划这个名词刻进了信息学竞赛的历史。而NOI历史上的第一道动态规划题目出自NOI95的《石子归并》。自此之后,动态规划就一发而不可收拾,成为了近年来NOIP、NOI以及IOI必需掌握的内容。然而,学生在学习动态规划时总是不得要领,没能发挥出动态规划对于解题产生的巨大魅力。下面,本人根据多年的教学经验,提几点有助于大家学好动态规划的意见 阅读全文
摘要:
引入首先来说说“状态压缩动态规划”这个名称,顾名思义,状态压缩动态规划这个算法包括两个特点,第一是“状态压缩”,第二是“动态规划”。状态压缩:从状态压缩的特点来看,这个算法适用的题目符合以下的条件:1.解法需要保存一定的状态数据(表示一种状态的一个数据值),每个状态数据通常情况下是可以通过2进制来表示的。这就要求状态数据的每个单元只有两种状态,比如说棋盘上的格子,放棋子或者不放,或者是硬币的正反两面。这样用0或者1来表示状态数据的每个单元,而整个状态数据就是一个一串0和1组成的二进制数。2.解法需要将状态数据实现为一个基本数据类型,比如int,long等等,即所谓的状态压缩。状态压缩的目的一方 阅读全文
摘要:
dp分类动态规划容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740, 1742, 1887, 1926, 1936, 1952, 1953, 1958, 1959, 1962, 1975, 1989, 2018, 2029, , 2063, 2081, 2082, 2181, 2184, 2192, 2231, 2279, 2329, 2336, 2346, 2353, 阅读全文
摘要:
优化算法入门系列文章目录(更新中): 1.模拟退火算法 2.遗传算法一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。图1二. 模拟退火(SA,Simulated Annealing)思想 爬山法是完完全全的贪心法,每次都鼠目寸光的选择.. 阅读全文