Ryen的学习笔记

成长有多少新奇的美,就有多少撕裂的痛;离去有多么辽阔的自由,就有多么无边的孤寂。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年3月7日

摘要: 第九章动态规划的基本思路:找到问题的最优子结构确定状态写出状态转移方程。 注: 如果发现状态无法转移,我们常考虑增加状态的维度。使用动态规划的动机: 1. 问题是线性的,容易找到最优子结构。 2. 问题是一个多阶段决策问题。动态规划中解答路径的输出不记录,求解完所有状态后,通过状态转移方程递推求出每一步的决策。(注意使用记忆化搜索DP时,打印方案也需要使用函数而不是数组)记录每一步的决策。(LCS问题不好处理)记录方案,每次更新全局最优解时同步跟新方案。动态规划的递推方向:向前递推可以边输入边递推。但是较难按字典序输出方案第十一章 首先总结一下图论中的一些概念: 连通: 如果在一个无向图中从每 阅读全文

posted @ 2010-03-07 18:19 Ryen_lee 阅读(1558) 评论(0) 推荐(0)

摘要: The Suspects(1611,): 考察并查集的基本使用,路径压缩可以有效提升效率。结果要统计含有‘0’元素的集合内元素的个数。Ubiquitous Religions(2524,):一样考察并查集基本使用,结果需要统计所有的集合的个数。Risk(1603,):任意点最短路径,直接只用floyd即可,注意memset(d, 1, sizeof(d));的效果(此时有const int INF = 16843009;)。Freckles(2560,):最小生成树,使用Kruskal算法,并查集使用路径压缩可以0MS。该题中用qsort对边的长度通过编号进行间接排序,应该是w[a] w[ 阅读全文

posted @ 2010-03-07 18:18 Ryen_lee 阅读(507) 评论(0) 推荐(0)