随笔分类 -  数据结构

摘要:Gauss消元,我在线代书上学会的…… 大概就是每次把每行第一个元素消掉,直到成为上三角矩阵为止。 此时从最后一个元素反代回去,就可以求出线性方程组的解。 阅读全文
posted @ 2017-06-05 20:32 zcysky 阅读(2993) 评论(0) 推荐(3)
摘要:大力分块+树状数组+主席树…… 阅读全文
posted @ 2017-06-03 19:47 zcysky 阅读(168) 评论(0) 推荐(0)
摘要:就是一个可持久化Trie....... 阅读全文
posted @ 2017-05-26 22:11 zcysky 阅读(822) 评论(0) 推荐(0)
摘要:线段树合并入门题。 分别计算左子树的逆序对,右子树的逆序对,合并的时候计算贡献。 阅读全文
posted @ 2017-05-19 22:01 zcysky 阅读(219) 评论(0) 推荐(0)
摘要:由于数据范围过大,直接线段树会炸,离散化或者动态开点都行。 打个标记在树上,最后把树dfs一边算一下即可。 阅读全文
posted @ 2017-05-19 14:26 zcysky 阅读(210) 评论(0) 推荐(0)
摘要:扔板跑…… 阅读全文
posted @ 2017-05-19 09:19 zcysky 阅读(711) 评论(0) 推荐(0)
摘要:在洛谷上点了个Splay的tag想玩玩,结果看到这题…… 阅读全文
posted @ 2017-05-18 17:50 zcysky 阅读(212) 评论(0) 推荐(0)
摘要:假的,假的,都是假的。 题意是最大点独立集还要算贡献,写个网络流岂不是GG? 其实这个也就是奇偶不能选而已……所以无外乎这么四种情况: 线段树按照套路维护一下就好了。 阅读全文
posted @ 2017-05-16 11:31 zcysky 阅读(161) 评论(0) 推荐(0)
摘要:这题乍一看后缀相等很烦的样子…… 其实如果把字符串倒过来,那么相等的后缀就可以转化成前缀,前缀相等扔进trie就可以了。 剩下无非是Trie的树链kth,主席树随便维护就好。 注意一个串彻底结束才能打val++。而且因为主席树维护的权值是出现次数,连离散化都不用的。 阅读全文
posted @ 2017-05-15 17:33 zcysky 阅读(314) 评论(0) 推荐(0)
摘要:一道无聊的线段树题,写着玩玩而已…… 阅读全文
posted @ 2017-05-14 20:57 zcysky 阅读(247) 评论(0) 推荐(0)
摘要:蒟蒻有生之年终于切掉了这道题……在陈丽杰的sam课件上就有这道题,但是zcysky太菜一直不敢做。 其实现在做一下,发现这个题目并不是太难。 所谓的出现次数就是这个字符串在SAM上跑完对应的right集合。要支持及时插入,也就是要动态的维护Parent树的形态。 “动态”,“树”,我们很明显本能的会 阅读全文
posted @ 2017-05-14 08:36 zcysky 阅读(986) 评论(2) 推荐(0)
摘要:追yql做题记录的时候做到的……一道Splay模版题…… 啊LCT写久了都有点忘了Splay了(什么奇怪的逻辑?) 其实说白了五个操作: 1、 将某元素置顶:将元素旋到根,然后将左子树合并到该元素的后继 2、 将某元素置底:将元素旋到根,然后将右子树合并到该元素的前驱 3、 将某元素提前/滞后1位: 阅读全文
posted @ 2017-05-12 09:26 zcysky 阅读(163) 评论(0) 推荐(0)
摘要:不知道花神究竟是哪位dalao,但是我还是想缅怀下菊花大爷…… 提交:http://www.lydsy.com/JudgeOnline/problem.php?id=3211 又一个区间开根号题,不过这个无修改的比较简单,可以YY一下,一个区间开根号,开着开着就成了0或者1,维护下就好。 当然jir 阅读全文
posted @ 2017-05-11 22:08 zcysky 阅读(247) 评论(0) 推荐(0)
摘要:其实只是放个代码,会K-D-Tree的同学看了就知道怎么rebuild了,其实也是很简单粗暴的…… 单独再发一次吧,感觉把代码跟之前的一起发不知道啥时候就找不到了…… 1 #include<bits/stdc++.h> 2 #define N 50010 3 #define inf 10000000 阅读全文
posted @ 2017-05-11 21:07 zcysky 阅读(301) 评论(0) 推荐(1)
摘要:我怎么控制不住自己又写了个数据结构啊……真是的…… 其实我是想练CDQ分治的……结果忍不住又写了个主席树。 首先看看不动态的逆序对咋做?树状数组嘛。 那么删除咋搞?就是考虑贡献,把它前面比他大的,后面比他小的减去…… 诶?带修改主席树?我……我好像才写过……? 1 #include<bits/std 阅读全文
posted @ 2017-05-11 21:05 zcysky 阅读(866) 评论(0) 推荐(0)
摘要:三维偏序是一个很经典的东西啊。 //结果蒟蒻我居然是先写的四维的? 第一位排序当作限制,然后cdq分治+树状数组统计就好。写起来很快的啊。 题目:bzoj3262 陌上花开 1 #include<bits/stdc++.h> 2 #define N 100005 3 using namespace 阅读全文
posted @ 2017-05-10 21:53 zcysky 阅读(554) 评论(0) 推荐(0)
摘要:昨天在写带修改主席树的时候,咸鱼zcysky发现自己似乎根本不会写主席树 于是正好找个空复习下…… 主席树的原理不用我扯了,主席树为啥能求k大,大概在它可以用历史版本存下区间的前缀和,求的时候差分下就能提出我要求的区间。 不过这么搞的话不要忘了离散化。 1.kth number 就是上面的裸题,不要 阅读全文
posted @ 2017-05-10 11:29 zcysky 阅读(3340) 评论(0) 推荐(0)
摘要:题面地址(权限题) 不用权限题的地址 首先说说怎么搞带修改主席树? 回忆一般的kth问题,我们的主席树求的是前缀和,这样我们在目标区间的左右端点的主席树差分下就能求出kth。 那么我们如何支持修改操作? 考虑到我们之前使用主席树朴素的维护区间前缀和,支持修改的话,只要把前缀和交给擅长它的树状数组维护 阅读全文
posted @ 2017-05-09 21:48 zcysky 阅读(3275) 评论(2) 推荐(8)
摘要:LCT维护子树并没有想象中的那么难,在这里只是复习下。 (其他的维护子树的题目,可见:“共价大爷游长沙”) 只要记录下虚边连接的信息就好了。 阅读全文
posted @ 2017-05-09 12:28 zcysky 阅读(633) 评论(0) 推荐(0)
摘要:这是两个月前写的,看能不能搬运过来…… 动态树是一类维护森林连通性的问题(已纠正,感谢ZQC巨佬),目前最(wo)常(zhi)见(hui)的动态树就是LCT(Link-Cut-Tree),然而LCT似乎是处理路径的,处理子树可能力不足。据说有一种称为Top Tree的数据结构,可以处理所有。但是学不 阅读全文
posted @ 2017-05-08 18:07 zcysky 阅读(280) 评论(0) 推荐(0)