随笔分类 - 高级数据结构——树链剖分
摘要:给定一棵树,在树上每个点处有个人,每个人有一个忍耐程度。当一个人子树内放假的人数且他没有放假的时候,他会删库跑路。初始时所有人都没放假。有次操作,每次将一个人由放假变为不放假或由不放假变为放假,然后输出一共有多少个人会删库跑路。
。
阅读全文
摘要:\kk
阅读全文
摘要:无摘要..
阅读全文
摘要:无摘要..
阅读全文
摘要:题目链接 为了纪~~(zhuang)念(bi)~~写完这个树剖单独写一篇。感觉还好,也就6k嘛。 完整比赛题解:https://www.cnblogs.com/SovietPower/p/9826829.html。 肯定要用点来表示边的颜色,然后树剖。 对于操作2,我们可以拆成: 将
阅读全文
摘要:2018.10.21 牛客提高集训营6 比赛链接 不是很懂那些粘人代码还直接交上去的人,在提交记录里很好看么? A 最长路(拓扑 分层) 题目链接 容易想到建反图拓扑。有了最长路后,按最长路对图分层。 因为当前点路径字典序最小,就是要满足第一条边最小后,再满足下一个点路径字典序最小。后者可以直接用上
阅读全文
摘要:..........
阅读全文
摘要:"题目链接" cpp //17440kb 3760ms //维护区间颜色数、最左、最右颜色即可。 // (L[]==R[])要加括号!woc才发现。 include include include // define gc() getchar() define gc() (SS==TT&&(TT=(
阅读全文
摘要:"题目链接" 模板题都错了这么多次。。 cpp //边权赋到点上 树剖模板 //注意LCA、链的顶端不能统计到答案! include include include define gc() getchar() define lson l,m,rt 1; Build(lson), Build(rson
阅读全文
摘要:"题目链接" 无优化版本(170行): cpp / 首先树剖可以维护树上的链Sum、Max 可以对每个宗教建一棵线段树,那这题就很好做了 不过10^5需要动态开点 (不明白为什么nlogn不需要回收就可以 不是每个Insert加log个节点?) 操作修改完更改原数列!盲人。。 / include i
阅读全文
摘要:"题目链接" cpp //注意树剖一条链上或一棵子树内的编号是连续的 //建树时用的是第二次dfs得到的序列 //不要频繁转longlong include include include // define gc() getchar() define gc() (SS==TT&&(TT=(SS=I
阅读全文