模板错误总结

来源:互联网 发布:阿里云华南地区是哪里 编辑:程序博客网 时间:2024/06/04 18:38

一、LCT

splay的时候要先对x一次pushdown,不然的话x的左右儿子指针有可能是反的,rotate的时候x的父亲的另一个儿子就可能赋值成x的错误的一个儿子,导致树的关系被破坏甚至成环,因此死循环超时。

总结LCT或者伸展树中需要更新信息的地方:

rotate最后要上传y。

splay最开始下放x,循环中下放x的祖父和x的父亲,最后上传x。

找前驱、后继、第k大的时候走到一个点pushdown一次。

access合并子树的时候要上传。

link不用传标记。cut需要上传一次。

LCT只维护连通信息的时候可省去所以上传,但下放rev标记不能省。


二、后缀数组

二分的时候check函数有点问题。height[i]表示的是排名为i和i-1的lcp,因此如果height[i]>=x实际上是suffix(sa[i])和suffix(sa[i-1])可以匹配x位以上,计算的时候要把sa[i-1]纳入进来。只考虑sa[i]的话肯定是有问题的,假如说只有一个height[i]>=x,但是本来又是合法的,这样就会少考虑了一个后缀,相当于只考虑了一个后缀,无论如何是无法匹配的。

以后要注意height[i]实际是两个最接近的后缀的lcp。还有要注意为了方便实际上是把最后一个空字符排到第一的,注意循环初始条件。


三、treap

原题第一次做的时候是用splay来分类维护序列过的,300+ms挺快的,印象中当时调了很久。考试的时候难得再写一遍了,就来了个线段树套权值treap,跑了1s多点,比理论耗时高,一查原因,发现是随机函数生成到第十几个数之后每个随机数都一样了,以后还是用系统的rand()吧。。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝衣服下架了怎么办 淘宝物品下架了怎么办 淘宝货品下架了怎么办 淘宝cmcc下架了怎么办 修手机主板被换怎么办 换手机屏幕被调换零件怎么办 买了东西想退换怎么办 淘宝退货卖家不同意怎么办 淘宝退货退错了怎么办 商品质量问题换货后仍有问题怎么办 货没收到想退款怎么办 淘宝退货店家不退款怎么办 京东退货快递显示签收怎么办 买家已付款卖家不发货怎么办 两个地址发给买家退货怎么办 超市盘点少了货怎么办 月盘点出错领导要理由怎么办 做外汇被坑怎么办?亏损二十多万 iphone储存空间已满怎么办 icloud储存空间将满怎么办 手机店没人进店怎么办 淘宝退货运单填错了怎么办 淘宝快递单号填错了怎么办 拼多多48小时不发货怎么办 想开化妆品店没有经验怎么办 淘宝卖家收钱不发货怎么办 nike拖鞋买小了怎么办 京东换货没货了怎么办 淘宝申请退货退款卖家不处理怎么办 家具连接扣坏了怎么办 锅炉炉水碱度低怎么办 快递里面的东西少了怎么办 很多闲置在家里的东西怎么办 闲鱼买的东西与原物不对怎么办 退款后又发货了怎么办 淘宝卖家不发货也不退款怎么办 已经申请退款卖家仍发货怎么办 淘宝卖家已发货买家申请退款怎么办 爱上街App不发货怎么办 阿里卖家虚假发货怎么办 联系不到淘宝卖家怎么办