摘要: 题目 非常经典的题目 在 \(Bytemountains\) 有 \(n\) 座山峰,每座山峰有他的高度 \(h_i\) 。有些山峰之间有双向道路相连,共 \(m\) 条路径,每条路径有一个困难值,这个值越大表示越难走。 现在有 \(q\) 组询问,每组询问询问从点 \(v\) 开始只经过困难值小于 阅读全文
posted @ 2021-01-26 22:15 leiyuanze 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题解 这题做法很多呢! 目前我只试过线段树合并,因为最近在学 对于每一个点开一颗关于粮食类型的线段树 维护数量和区间最多的类型 然后考虑到合并子树的过程就类似于树上差分后做前缀和 所以我们可以树上差分一下,省去树剖的一只 \(\log\) (但求 \(\text {lca}\) 还是打了树剖) 最后 阅读全文
posted @ 2021-01-26 10:40 leiyuanze 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题解 套路套路地用线段树合并 注意:可能爆栈,所以 \(\text {bfs}\) 处理 合并要新开节点,不然后修改子树信息 \(Code\) #include<cstdio> #include<iostream> #define LL long long using namespace std; 阅读全文
posted @ 2021-01-26 09:24 leiyuanze 阅读(56) 评论(0) 推荐(0) 编辑