题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333
题意:求区间[l,r]内不重复的数字的和。
思路:存下所有的查询后排序,扫描原数组的时候记录当前数字的下标并且查看是否出现过,未出现过则更新a[i]到bit的[1,i]位置上;否则更新[上次位置,i]。一边更新一边查询,这样求和不会重复。
相当于一边更新一边查,把唯一的结果都尽可能地往右堆,因为保证了查询左边界一定是在移动的。
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include