
平衡树转来转去
stone41123
一名苦逼的OIer,欢迎交朋友。。。
展开
-
Splay区间翻转
如题 其实就是用Splay来维护一个序列,而不再是一棵二叉查找树了 然后建立两个虚点1和n+2每次操作时将[l,r]变成[l+1,r+1] 翻转就是将Rank为l的点splay到根,将Rank为r+2的点splay到根的右儿子,然后给r+2的左儿子(此时就是要修改的区间)打上rev标记。 代码:#include<cstdio>#include<cstring>#include<iostr原创 2017-10-30 15:01:07 · 741 阅读 · 1 评论 -
二逼平衡树(线段树套Splay)
传送门 (update->10.31) 我的第一次调出样例: 我就很无语了,居然会TLE 然后hzy dalao就告诉我:“我们那个板子一直都是错的!” 然后就告诉了我splay的正确姿势,然后。。。 我就问他:“这难道不是你的板子吗?” hzy:“你写的丑。” 我:“。。。” 然后我就愉快地去大(yang)牛(qi)分站交了一发,果断AC了这题。 其实我原来用的那个原创 2017-10-29 17:26:04 · 450 阅读 · 0 评论 -
[NOI2005]维修数列(Splay神题)
我这个题22次失败提交(WA & TLE & MLE & RE),然后才AC了。。。 这个题真的把Splay当成了线段树来用,打了好多标记,还一直pushup&&pushdown 其实所有操作都差不多,只是打的标记不同罢了。 比如我们要操作[L,R],那么就将L-1 Splay到根,将R+1 Splay到根的右儿子,这样就可以操作了(自己脑补一下) 然后这个题有一个坑点,就是最大子段和必须选原创 2017-11-01 08:13:26 · 456 阅读 · 0 评论 -
Link Cut Tree(动态树)
模板题 感觉其实LCT就是在用splay维护树剖。。。 贴两个blogCandy: https://www.cnblogs.com/candy99/p/6271344.html zyf2000: http://blog.youkuaiyun.com/clove_unique/article/details/50991804这两个看完应该就懂了,代码的话,可以抄Candy的 (除了那个诡异的names原创 2017-11-21 11:14:55 · 326 阅读 · 0 评论 -
指针Splay
传送门 今天突发奇想写了个指针Splay,居然还很神奇地调过了 其实就是按着原来的板子写,然后改成指针罢了 注意要用null代替NULL,不然很有可能RE 具体写法可以看我的代码(虽然是自己YY的,可是还是可以看的吧)#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm原创 2017-12-21 11:21:03 · 725 阅读 · 0 评论 -
[bzoj1014]:[JSOI2008]火星人prefix
传送门 这个题我一眼秒,然后发现好像是查询好像变成了O(log2n)O(log^2n) 然后发现数据范围说查询操作不超过10000次,然后就觉得应该是正解了。。 然后调试了超级久。。。 再然后就WA了3个点。。 最后发现我调试的时候为了方便,质数只取到了1000,然后取到1e9+7,就过了。。 我们来说正解吧。emmmm,一句话题解吧。 Splay+Hash+二分 好像有点儿少,还是原创 2017-11-24 16:47:33 · 337 阅读 · 0 评论 -
替罪羊树(重量平衡树)
就是打了个板子 有个好板子:https://www.cnblogs.com/Hero-of-someone/p/7260332.html 这个只要改改代码风格就可以食用了 然后就是调参了qwq 0.8较为合适,可以跑到108ms 代码:#include<cstdio>#include<cstdlib>#include<cstring>#inc...原创 2018-03-04 22:09:30 · 471 阅读 · 0 评论