algorithm and data structrues
文章平均质量分 78
sunny606
这个作者很懒,什么都没留下…
展开
-
线段树_POJ2528_解题报告
题意:给定一些海报,可能互相重叠,告诉你每个海报宽度(高度都一样)和先后叠放次序,问没有被完全盖住的海报有多少张。海报最多10,000张,但是墙有10,000,000块瓷砖长。海报端点不会落在瓷砖中间。题解:这是一个区间覆盖的问题,由于海报的数量最大有10,000张,O(n^2)的暴力算法是达不到时限要求的,用O(nlgn)的线段树来做应该时间上不会有问题了,但是直接做线段树会超内存,原创 2012-03-27 13:03:38 · 594 阅读 · 0 评论 -
dancing links详解
Dancing links是一种能高效实现Knuth的X算法的技术,它可以使很多搜索问题得到极大的优化。假设x是一个双向链表中的一个节点,L[x]表示X的前驱,R[x]表示x的后继,则R[L[x]] = R[x], L[R[x]] = L[x]这一操作可以把x从链表中移除,这是众所周知的,当然,一个细致的程序员还会用 L[x] = R[x] = x或 L[x] = R[x] = NUL原创 2012-08-06 00:36:45 · 8182 阅读 · 0 评论