博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  高级数据结构——树链剖分

摘要:给定一棵树,在树上每个点处有1个人,每个人有一个忍耐程度ti。当一个人子树内放假的人数>ti且他没有放假的时候,他会删库跑路。初始时所有人都没放假。有m次操作,每次将一个人由放假变为不放假或由不放假变为放假,然后输出一共有多少个人会删库跑路。 n,m105, 0tin阅读全文
posted @ 2021-05-11 11:40 SovietPower 阅读(95) 评论(0) 推荐(0) 编辑
摘要:给一棵n个点的树,每个点有体积ai和价值bi,求总容量分别为1m时选出一个最大价值独立集(相邻节点不能同时选)的方案数。 n50,m5000阅读全文
posted @ 2021-02-19 21:11 SovietPower 阅读(335) 评论(0) 推荐(0) 编辑
摘要:\kk 阅读全文
posted @ 2020-10-14 23:24 SovietPower 阅读(168) 评论(0) 推荐(0) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-04-13 17:35 SovietPower 阅读(200) 评论(0) 推荐(0) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-03-30 08:29 SovietPower 阅读(218) 评论(0) 推荐(0) 编辑
摘要:给定一棵n个点的树,初始每个点上有一个数字123456789123456789m次两种操作:给定路径uva,b,使路径上每个点加一个数a×dis(u,i)+b;询问uv路径上的最小数字。 n,m105阅读全文
posted @ 2018-12-07 09:22 SovietPower 阅读(177) 评论(0) 推荐(0) 编辑
摘要:题目链接 为了纪~~(zhuang)念(bi)~~写完这个树剖单独写一篇。感觉还好,也就6k嘛。 完整比赛题解:https://www.cnblogs.com/SovietPower/p/9826829.html。 肯定要用点来表示边的颜色,然后树剖。 对于操作2,我们可以拆成: 将uv 阅读全文
posted @ 2018-10-22 16:15 SovietPower 阅读(398) 评论(0) 推荐(0) 编辑
摘要:给定一棵n个带权值点的树,m个三种操作:修改某点的权值;将树的根换位x;查询x子树中的最小权值。 n,m105阅读全文
posted @ 2018-10-22 09:06 SovietPower 阅读(162) 评论(0) 推荐(0) 编辑
摘要:2018.10.21 牛客提高集训营6 比赛链接 不是很懂那些粘人代码还直接交上去的人,在提交记录里很好看么? A 最长路(拓扑 分层) 题目链接 容易想到建反图拓扑。有了最长路后,按最长路对图分层。 因为当前点路径字典序最小,就是要满足第一条边最小后,再满足下一个点路径字典序最小。后者可以直接用上 阅读全文
posted @ 2018-10-21 21:00 SovietPower 阅读(297) 评论(0) 推荐(0) 编辑
摘要:.......... 阅读全文
posted @ 2018-07-15 16:07 SovietPower 阅读(218) 评论(0) 推荐(0) 编辑
摘要:"题目链接" cpp //17440kb 3760ms //维护区间颜色数、最左、最右颜色即可。 // (L[]==R[])要加括号!woc才发现。 include include include // define gc() getchar() define gc() (SS==TT&&(TT=( 阅读全文
posted @ 2018-03-24 13:15 SovietPower 阅读(141) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 模板题都错了这么多次。。 cpp //边权赋到点上 树剖模板 //注意LCA、链的顶端不能统计到答案! include include include define gc() getchar() define lson l,m,rt 1; Build(lson), Build(rson 阅读全文
posted @ 2018-02-13 09:51 SovietPower 阅读(197) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 无优化版本(170行): cpp / 首先树剖可以维护树上的链Sum、Max 可以对每个宗教建一棵线段树,那这题就很好做了 不过10^5需要动态开点 (不明白为什么nlogn不需要回收就可以 不是每个Insert加log个节点?) 操作修改完更改原数列!盲人。。 / include i 阅读全文
posted @ 2018-02-10 21:45 SovietPower 阅读(163) 评论(0) 推荐(0) 编辑
摘要:"题目链接" cpp //注意树剖一条链上或一棵子树内的编号是连续的 //建树时用的是第二次dfs得到的序列 //不要频繁转longlong include include include // define gc() getchar() define gc() (SS==TT&&(TT=(SS=I 阅读全文
posted @ 2018-02-09 13:14 SovietPower 阅读(147) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示