新年扯皮以及一些比较正经的东西

扯皮

去年写了个高三之前OI生涯的回忆录,手贱在最后加了个“未完待续”。当然即使是现在我还是想把这个东西一直写到我真正退役的。只不过现在还没想好怎么写,甚至不确认是否应该开始写了。断断续续写了一些乱七八糟的东西,基本都是写别人,而我自己还没怎么写。然而博客已经又很久没更新了,我都能预见到,我写完这篇之后他一定要审核我。

UPD:妈的,竟然没审核,瞬间打脸

去年12月去四川讲了趟课(不是骗钱),发现博客里有许多坑,然后还把我高一的时候在湖南clj讲课的课件翻出来看了看,又看到了挺多有趣的东西,虽然其实也没多少,不过还是想发出来。本该去wc之前就发的,不过那时候比较懒,这几天在家颓着无所事事, 就发出来吧

因为拖了太长时间可能有些东西已经忘了……

也就是说,这个新年扯皮的扯皮部分已经结束了-_-,下面是一些比较正经的东西,或许标题还是设成《比较正经的东西以及一些新年扯皮》比较恰当……

把这些东西大概写在这里吧,退役选手懒得把每个题单发一篇文章了,其实也没啥玩意,不是在clj的课件里看到的就是我之前博客的坑,毫无创意……

这文章咋他妈分类啊,懒得把涉及到的所有知识点勾上了,就分到扯淡里吧

紫荆花之恋

可以用二进制分组+虚树做,把所有加点操作二进制分组,每组建一个虚树,并对虚树点分,查询的时候在每个虚树的点分结构上查询

具体的实现细节的话,可以对每个虚树维护一个欧拉序,然后查询前去后继来找到询问点在哪个边上,从在点分结构上较低的那个开始查询

翻课件的时候看到clj说可以用虚树做,于是YY了一下,嫌麻烦没写,不知道是不是真的可做

树的双重心

如果去掉深度限制怎么做

事实上我们只是要求出来每个无根子树的重心以及这个子树到这个重心的带权距离和,考虑每个子树事实上就相当于把根的所有儿子的子树以及根合并

两棵树合并之后,新的重心一定在原来两个重心之间的链上,所以可以在这条链上三分找到新的重心

因为我们最终要求的是整个子树的重心,所以在三分的时候直接用整个子树的带权距离作为判断标准即可

好像只会一个仨log的丑陋做法

开店

众所周知,点分树有一个良好的性质就是树高是log的,这个性质启发我们可以去尝试对它进行可持久化,这题还保证了是一颗二叉树,所以就可以直接开心地可持久化了

我们把所有点按点权排序,然后挨个在点分树上修改,并可持久化点分树,这样查询的时候只需要在两个版本分别查询然后做差即可,复杂度比点分套线段树少一个log

星器

做课件的时候推了一遍发现之前推错了,于是重推了一遍,blackjack帮我发出来了

Poi2013 Polarization

补充上了那个“简单而又复杂的证明”

首先显然如果树就是一个长度为3的链,那么是对的

归纳证明得对于所有链,都是对的

继续归纳可得对于两条链相交,都是对的

继续归纳可得对于任意的树,都是对的

巧克力王国

可以看这个discuss,wc的时候gxz告诉我正解是直接四分树
说了这么多其实我并不会建四分树

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值