题目大意:
对于一些黑帮成员,你知道他们某些人不是一个团伙的,并以此判断另外一些人是否属于同一团伙。
一棵具有n个节点的树,一开始,每个节点上都有一个苹果。现在给出m组动态的操作:(C,i)是摘掉第i个节点上面的苹果(若苹果不存在,则为加上一个苹果),(Q,i)是查询以第i个节点为根的子树有几个苹果(包括第i个节点)。
要求设计这样一个数据结构,支持下列操作:
1.add(x,y,a),对二维数组的第x行,第y列加上a。
2.sum(l,b,r,t),求所有满足l<=x<=r,b<=y<=t,的数组元素的和。
给出一个序列和四种操作:
(1) Add i j ,i和j为正整数,第i个元素增加j(j不超过30);
(2) Sub i j ,i和j为正整数,第i个元素减少j(j不超过30);
(3) Query i j ,i和j为正整数,i<=j,表示询问第i到第j个元素的和;
(4) End 表示结束,这条命令在每组数据最后出现;
执行操作并对(3)进行答复。
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀)。