会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
每天AC!
博客园
首页
新随笔
联系
订阅
管理
2010年7月25日
PKU 1026
摘要: 题意: 给你长度n的一组序列a[i] 然后k操作次数 再给你一组字符串 字符串长度不足n的后面补零操作:把字符在i位置的放到a[i]上 如此操作k次方法: 直接模拟肯定TLE 求字符串整体周期T k=k%T k还是很大 超时 求每个字符串的周期 T[i] 然后 k=k%T[i][代码]
阅读全文
posted @ 2010-07-25 21:04 keep going
阅读(292)
评论(0)
推荐(0)
编辑
2010年7月21日
字典数模板
摘要: [代码]
阅读全文
posted @ 2010-07-21 16:11 keep going
阅读(306)
评论(0)
推荐(0)
编辑
字典树
摘要: HDU 1251代码
阅读全文
posted @ 2010-07-21 14:52 keep going
阅读(197)
评论(0)
推荐(0)
编辑
2010年6月1日
罗穗骞的dc3和倍增法
摘要: 主要参考了 .罗穗骞《后缀数组——处理字符串的有力工具》和许智磊的后缀数组,现在能使用罗穗骞的dc3算法和倍增法倍增法模板o(nlgn)view plaincopy to clipboardprint?int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; int cmp(int *r,int a,int b,int l) {return r[a]...
阅读全文
posted @ 2010-06-01 18:27 keep going
阅读(1526)
评论(0)
推荐(0)
编辑
2010年5月26日
pku 1330 LCA
摘要: 第一道LCA [代码]
阅读全文
posted @ 2010-05-26 22:09 keep going
阅读(357)
评论(0)
推荐(0)
编辑
最近公共祖先(LCA)的Tarjan算法
摘要: 最近公共祖先(LCA)问题LCA(T,u,v):在有根树T中,询问一个距离根最远的结点x,使得x同时为结点u、v的祖先LCA问题可以用朴素的DFS方法解决,但是时间复杂度就很高了,这里介绍一种高级一点的解决LCA问题的Tarjan算法。Tarjan算法是由Robert Tarjan在1979年发现的一种高效的离线算法,也就是说,它要首先读入所有的询问(求一次LCA叫做一次询问),然后并不一定按照原...
阅读全文
posted @ 2010-05-26 21:48 keep going
阅读(3990)
评论(1)
推荐(0)
编辑
tarjan LCA 算法
摘要: LCA是求最近公共祖先问题, tarjan的算法是离线算法,时间复杂度为O(n+Q),n为数据规模,Q为询问个数其中用到并查集。关键是dfs的主循环比较重要。离线算法就是对每个查询,都要求以下,此算法在lrj的黑书中简单提起过,后边还有O(n)-o(1)的算法,正在研究中。。。分类,使每个结点都落到某个类中,到时候只要执行集合查询,就可以知道结点的LCA了。 对于一个结点u,类别有 以u为根的子树...
阅读全文
posted @ 2010-05-26 21:37 keep going
阅读(741)
评论(0)
推荐(0)
编辑
2010年5月25日
多重背包问题
摘要: 题目有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本算法这题目和完全背包问题很类似。基本的方程只需将完全背包问题的方程略微一改即可,因为对于第i种物品有n[i]+1种策略:取0件,取1件……取n[i]件。令f[i][v]表示前i种物品恰放入...
阅读全文
posted @ 2010-05-25 23:05 keep going
阅读(408)
评论(0)
推荐(0)
编辑
2010年5月24日
RMQ问题ST算法与模板
摘要: 2007-07-15 15:48-------------------------------------算法简述-----------------------------------------ST算法O(nlogn)预处理,O(1)的查询指定区间的最值(以最小值为例)基本上是把待求区间[l,r]分为两段长为len的区间左边一段为[l,l+len-1],右边一段为[r-len+1,r]len必须...
阅读全文
posted @ 2010-05-24 23:16 keep going
阅读(1964)
评论(0)
推荐(1)
编辑
RMQ(Range Minimum/Maximum Query)问题:
摘要: RMQ问题是求给定区间中的最值问题。当然,最简单的算法是O(n)的,但是对于查询次数很多(设置多大100万次),O(n)的算法效率不够。可以用线段树将算法优化到O(logn)(在线段树中保存线段的最值)。不过,Sparse_Table算法才是最好的:它可以在O(nlogn)的预处理以后实现O(1)的查询效率。下面把Sparse Table算法分成预处理和查询两部分来说明(以求最小值为例)。预处理:...
阅读全文
posted @ 2010-05-24 23:14 keep going
阅读(374)
评论(0)
推荐(0)
编辑
下一页