数据结构
文章平均质量分 82
mznanan
这个作者很懒,什么都没留下…
展开
-
两题动态树
很神奇的一种数据结构。又是tarjan发明的。。orz。我才知道,动态树不是数据结构,而是一类问题。。非常轻松的一次ac弹飞绵羊非常不容易的ac树的统计count。。我很快写完了,结果看了很久才知道自己错在哪里(这真的是无比浪费时间)。因为它有负数,所以空节点,也就是0,初始给他一个-max的值。。。。动态树是没有写挫的- -反而挂在最基础的地方,树的统计一共跑了5s才出解。。求助更快的link-cut tree写法。。program p2002;//弹飞绵羊 var n:longint; s,原创 2010-08-19 20:58:00 · 883 阅读 · 2 评论 -
noi2005 维护序列。 splay
挑战自己写了一下这道noi历史上最变态的数据结构,noi2005的维护序列,非常变态非常变态,在经过4小时的debug后一次ac了= =如果再赛场上以我现在水平一定搞不出来。。。吃一堑长一智,这题对平衡树的操作更加深入、由于oj上的内存限制只有64mb。写了回收栈又出问题了,改天重新写一下再贴一个写了正确回收栈的程序。之前一直不敢写是因为有翻转操作不敢写,翻转则是给根结点一个标记,左右儿子交换,值传递,其余的与普通的splay值传递是一样的。。注意给给前后各加一个点,max【0】=-inf。这样进行初始化。原创 2010-08-20 19:36:00 · 1340 阅读 · 0 评论 -
月下“毛景树”
<br />bzoj1984<br /> <br />搞了我好久好久好久好久才ac的。。<br />差不多昨天4小时+今天的2小时。。<br /> <br /> <br />这题还是差点破300行。。。<br />由于我不会树链剖分,所以就用了link-cut-tree。。。鉴于link-cut-tree的常数实在太大了,荣幸的成为ac程序中速度最慢的。。<br />总耗时7777ms。。。<br /> <br />这题麻烦的就是标记传递<br />由于linkcuttree是从下往上splay。。<br原创 2010-09-18 17:25:00 · 1439 阅读 · 0 评论 -
[Baltic2004]sequence。。。初学左偏树
这题我想非常非常久都不知道怎么做,学习了05黄源河的论文才明白如何做的,思路非常不错同时学习了性价比很高的可合并堆---左偏树觉得这题不好想到,这里我用自己的话复述一下论文中的内容先假设是b1 ≤ b2 ≤ … ≤ bn并非严格递增。(如果需要严格递增我们可以给数 a[i] 变成 a[i]-i。。这样b只要非下降就可以了(这个技巧非常不错))初步思路。当a1当a1>a2>...>an 那么他们的中位数显然为最优值把n个数分成m个区间。。每个区间的b值相同。每个区间的b值为该区间的中位数,接下来就是要如何证原创 2010-12-18 17:58:00 · 1692 阅读 · 0 评论 -
poi2007--drz。
<br />好开心,一次就ac了。。(其实。。这就是一道10k左右的线段树水题。。)<br /> <br /><br /> {ps:很囧。。。我想了差不多两小时都没想出来。最后看了一下题解- -|ca。。。波兰文的- -|显然我不是<br /><br /> 语言帝我是看不懂的- -|中文题解又有bug- -然后看了一下那些式子- -差不多懂了- -|。。<br /> 好吧。。跟上次那道物理题一样。。既然是计算机竞赛题目- -就不要像我一样太往数学方面想,。一开始一直想如何贪心活着数学方法什么的。<br原创 2010-12-23 12:06:00 · 1655 阅读 · 2 评论 -
贴两种解决区间k小数的程序
<br />昨天老师布置的作业就有区间k小数= =。。不过那题数据太弱了。。。直接快排一下就ac了= =<br /> <br /> <br />这个题目很经典的- -目前我知道的正解只有这两种。树套树和划分树、(如果区间有重叠不包含,区间排序一下,直接用平衡树解决)<br /> <br />好早以前写的。以前是用线段树套个线段树(这个叫归并树来着)。。。归并排序上去- -<br />首先二分答案logn。。然后进去线段树logn。。然后判断这个数在第几位又logn。。总复杂度是 mlognlognlogn原创 2010-11-02 15:08:00 · 767 阅读 · 1 评论 -
fzu三月月赛C题。AC's code
<br /> <br />三点才知道有fzu月赛囧。。。<br />一看别人都A了巨多题。。<br />由于做了还没两小时,我只交了5道。。若爆了。。<br />还好是中国人出的题目- -英语看下来都木有什么压力。<br />这场比赛最后一题fft不会。<br /> <br />其余的除了C题之外都没什么意思(比赛时候没时间做)<br />一开始看到C题,想可不可以一位一位来,觉得不可做。后来就想像快排一样找第k大<br />显然不能直接暴力比较的。于是想说可不可以只以着插入部分比较,直接两个字符串接起来做原创 2011-03-21 15:55:00 · 593 阅读 · 0 评论 -
[jsoi2011]括号序列
这题狠狠地坑了一爹啊。我优化半天递归非递归,自顶向下,自下向上的splay都写了一遍测试,结果最快的还是递归和自顶向下的。 ,还是一直TLE。然后测了一下C++标程。比我的弱PASCAL还慢。 交上bzoj一测。C++AC。我的TLE。。 Q_Qpascal木有O2开关啊 言归正传。。这题看到reverse操作自然而然想到splay。。然后就是如何维护输出值 我们对于一原创 2011-04-02 12:28:00 · 4139 阅读 · 0 评论