数据结构
文章平均质量分 77
new_wu
这个作者很懒,什么都没留下…
展开
-
poj 1703 Find them, Catch them(并查集)
【题目大意】:有n个黑帮团伙成员,且有两个帮派。现在D(x,y)表示我们已知x,y不属于同意个帮派。A(x,y)表示查询输出x,y之间的关系。给出m个操作D或A,求答案。 Not sure yet.表示不能确定关系 In different gangs. 不在同一个帮派 In the same gang.在同一帮派 【解题思路】:看完题目,知道是并查集,但是用一个集合在纸上怎么样都原创 2012-03-07 13:29:48 · 396 阅读 · 0 评论 -
poj 2823 Sliding Window(单调队列)
【题目大意】:给出n个数,求每k个数之间的最大最小值。 【解题思路】:今晚精神状态不太好,本来是想来切切水题就睡觉的。谁知道写个单调队列G++还一直tle...不知道怎么优化了,不过幸运的是C++过了。 谁能告诉我G++要怎么改才能够过。 等明后天什么时候手痒写个线段树试试。 【代码】: #include #include #include #include #i原创 2012-03-15 23:19:57 · 365 阅读 · 0 评论 -
poj Nearest Common Ancestors(LCA+Tarjan)
【题目大意】:给定一棵树,求两点的最近公共祖先 【解题思路】:LCA问题,Tarjan离线算法可解。模版测试 【Tarjan算法】: Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量。 定义DFN(u)为节点u搜索的次序编号(时间戳),Lo原创 2012-03-17 03:14:18 · 476 阅读 · 0 评论 -
SicilyOJ(SOJ) 5228 Generic Cow Protests(dp+离散化+树状数组优化)
【题目大意】:给出n个数,现在可以按顺序随意的把n个数划分成任意部分,问使得每一部分的和均不小于0的划分方式有多少种。 【解题思路】:dp的转移方程很显然,dp[i]表示前i个数,对其进行任意划分之后满足题设的种类有多少种。则dp[j]=sigema(dp[i]) (0 然后...这样写显然会超时....我们要进行优化。-_-!!!!!~... 我们可以发现,其实每一次dp值的更改其原创 2012-04-01 01:34:42 · 879 阅读 · 0 评论 -
poj 2299 Ultra-QuickSort(逆序对)
【题目大意】:给你n个数,求其逆序对 【解题思路】:归并排序或者树状数组 【代码】: //树状数组 #include #include #include #include #include #include #include #include #include #include #include using nam原创 2012-03-22 02:05:56 · 478 阅读 · 0 评论