摘要: 题意:对树上两点区间增加或减少每点的权值,单点查询每点的权值。 思路:一开始线段树写的,但是我的被卡了2*maxn的空间,优化一下就可以了,但是嫌太麻烦,出题人可能就打算卡部分人的线段树。 用bit的话,类似预处理数组,每次查询0-x点的区间和就可以,修改左端点和右端点的权值为v和-v即可。 代码: 阅读全文
posted @ 2019-08-21 22:48 AlexPanda 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题意:区间修改树上两点间的颜色种类,区间查询树上两点间的线段数。 思路:树刨+线段树,区间合并是第一次写。思路为线段树维护左端点和右端点的颜色,合并时相同就–。具体实现不太好写。 代码: #include <bits/stdc++.h> using namespace std; #define ll 阅读全文
posted @ 2019-08-21 22:24 AlexPanda 阅读(111) 评论(0) 推荐(0) 编辑