• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






沙岛

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  树链剖分

 
【SDOI2014】旅行
摘要:题意 传送门 思路 树剖+动态开点线段树(每种宗教建一棵) 改宗教$x$改为$y$,把$rt_x$上对应的叶子节点删了(值清空),再insert一个新的。 code: 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N=2e 阅读全文
posted @ 2022-07-16 17:12 Crazy!!! 阅读(39) 评论(0) 推荐(1)
[SDOI2016]游戏
摘要:description 一个长为$n$的数列,每个初始为123456789123456789。 操作: 0 s t a b:s到t的链上每个点x跟dist(s,x)*a+b取min。 1 s t:求s到t的链上的min。 solution 李超+树链剖分 关键是想好树链剖分的李超线段树下标维护的是什 阅读全文
posted @ 2022-04-24 16:53 Crazy!!! 阅读(87) 评论(0) 推荐(0)
【LNOI2014】LCA
摘要:题意 有一个很巧妙的转化:求x,y的dep[lca(x,y)]可以先x到根的路径上加1,然后查询y到根路径上的和。 所以x->[l,r]的lca和,可以转化为,先把[l,r]中每个到根的路径+1,再求一次x到根的前缀和。 然后[l,r]这种显然可以差分为两个询问[1..r]和[1..l-1],因此先 阅读全文
posted @ 2022-03-03 14:47 Crazy!!! 阅读(45) 评论(0) 推荐(0)
[NOIP2018] 保卫王国
摘要:思路: DDP板题,就常规思路:$f[i][0/1]$表示(不)选i点,的最小代价。$g[i][0/1]$即对应的f除去son[v]的贡献 然后利用$g->f$的转移退出矩阵转移式,利用结合率线段树维护即可。 code: #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2022-02-25 16:00 Crazy!!! 阅读(70) 评论(2) 推荐(1)
树链剖分
摘要:本来这个早该学了的,去luogu题解区学了一番,发现代码比LCT还长,当然还是要好写些。 概念: 重儿子:子节点重sz最大的儿子,否则是轻儿子 ps.一个点可以作为重儿子就叫它重节点了,反之轻节点。 重链:由一个轻节点开始然后是重节点,直到叶子。 轻边:由一个存在轻节点的边。 性质:树上一条链上最多 阅读全文
posted @ 2022-02-25 15:57 Crazy!!! 阅读(39) 评论(0) 推荐(1)