摘要: 线段树的话,主要是用来解决区间值的问题。 贴一个百度的定义:线段树就是建立在线段的基础上,每个结点都代表了一条线段[a,b]。长度为1的线段称为元线段。非元线段都有两个子结点,左结点代表的线段为[a,(a + b) / 2],右结点代表的线段为[((a + b) / 2)+1,b]。 下图就是两棵长 阅读全文
posted @ 2017-05-14 22:29 LiebeCelery 阅读(170) 评论(0) 推荐(0) 编辑
摘要: DFS这个东西会的我感觉没什么东西,就一直搜就是了。 然后觉得百度讲的挺好的,放过来看看。 ·dfs(状态) –if 状态是目标状态 then ·dosomething –else ·for 每个新状态 –if 新状态合法 »dfs(新状态) ·主程序: ·dfs(初始状态) 书上的油田例题,感觉也 阅读全文
posted @ 2017-05-12 21:07 LiebeCelery 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 01背包的思想呢,也是dp的思想吧,把问题转化为子问题求解,不断继承状态得到最后的答案。 贴个公式:f[i][v]=max(f[i-1][v],f[i-1][v-c[i]]+w[i]);f[i][v]表示的是前i件物品放在一个容量为v的背包里可以获得的最大值。我也不明白这个二维数组的实用性在哪里,我 阅读全文
posted @ 2017-05-12 20:50 LiebeCelery 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 并查集还是很好理解的,应用在求联通块,儿子们找同一个祖先的问题,现在我并查集代码还有点问题的,具体优化还需要继续学习。 用poj的题目(2236)讲一下就行了把应该。http://poj.org/problem?id=2236 Description An earthquake takes plac 阅读全文
posted @ 2017-05-11 23:13 LiebeCelery 阅读(206) 评论(0) 推荐(0) 编辑