数据结构
文章平均质量分 80
丹_青
这个作者很懒,什么都没留下…
展开
-
POJ Ultra-QuickSort 树状数组解法
身为弱菜,觉得有必要偶尔写一写题解,加深记忆。刚开始完全不明白为什么要树状数组,百度了一发,随手点了几个,都是归并写的,便没有看了,果断请教人去了。这道题大概意思就是求逆序数。所谓逆序,比如:1,2 是正序,2,1 就是逆序。拿样例说话:9 1 0 5 4 9 1是一对逆序数,依次9 0, 9 1 ,9 5, 9 4,这里就有4个逆序数,然后1只有一个逆序,即1 0,。接下原创 2014-01-21 00:17:25 · 702 阅读 · 0 评论 -
POJ 1195--Mobile phones (二维树状数组)
题目链接 一棵很裸的二维树状数组,主要是学到了很多,所以纪念下。不会二维其实,然后自己YY了一下,YY对了,然后又改错了= =。。。最后还是请教了喵女神。然后,范围看错了,用的 int64 WA的惨不兮兮的。(今天才知道,输出木有%lf 这个标准..Orz C语言弱渣给跪了今天学到很多~ 比如用__int64 会慢很多,然后数组的话,容易出错。double型的输出也用%f.)原创 2014-01-21 16:08:54 · 777 阅读 · 0 评论 -
hdu 1394 Minimum Inversion Number 线段树
又学会了一种线段树写法,感觉比以前学的简单了很多~时空隧道(题目链接)题目是说,给一个数字n,然后有n个数0--n-1,顺序是打乱的,问操作a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ..., an, a1 (where m = 1)a3, a4, ..., an, a1, a2 (where原创 2014-01-22 14:45:55 · 635 阅读 · 0 评论 -
hdu 1892 See you~
时空隧道本来是不打算写题解来着,但是它残忍的WA了我好多发这道题之所以写这么久...是因为研究了好久二维线段树..Orz 还是知道会MLE的情况下(所谓没事找事做),写了个模板,不知道能不能A题...最后还是用的二维树状数组来着,线段树空间耗费too大了...题目就是讲,最开始矩阵每个方格都有一本书~ 然后 有如下操作:A X Y Z 在(x,y)增加z本书原创 2014-01-23 22:10:37 · 721 阅读 · 0 评论 -
lightoj 1135 - Count the Multiples of 3
一个lazy标记的很不错的学习的题。。。题意是说,有0---n-1个数,初始化都为0。有两种操作:0 i j, 闭区间[ i , j ]上的每个数都加11 i j,询问闭区间[ i , j ] 中,是3的倍数有多少个。题目如下:You have an array with n elements which is indexed from 0 to n - 1. Initia原创 2014-02-01 20:08:19 · 909 阅读 · 0 评论 -
LCA(最近公共祖先)问题的离线算法
1 定义LCA(Least Common Ancestors):最近公共祖先。对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大(设树根的深度最小)。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。这里给出一个LCA的例子:对于T=,V={1,2,3,4,5},E={(1,2)转载 2014-07-19 22:50:07 · 796 阅读 · 0 评论 -
UVA 11525 Permutation(树状数组)
题目意思是说 给你一个数k 然后有k个si 问你1--k 的第n个全排列是多少 注意是 1 2 3...k的全排列 不是si的N= 由观察得知(k-i)!就是k-i个数字的全排列种数, 0=比如对于数列{1,2,3,4},假设S1=2,当i==1的时候对于2*(4-1)!,从0到(4-1)!排列一定是1,x,x,x,从1*(4-1)!到2*(4-1)!排列一原创 2014-08-07 00:40:44 · 1119 阅读 · 0 评论