/*51 nod 1394 1394 差和问题(线段树)problem:有一个多重集合S(即里面元素可以有重复),初始状态下有n个元素,对他进行如下操作:1、向S里面添加一个值为v的元素。输入格式为1 v2、向S里面删除一个值为v的元素。输入格式为2 v3、询问S里面的元素两两之差绝对值之和。输入格式为3solve:每次向序列中添加数x时. 会对总体贡献: a[i]-x (a[i] > x), x-a[i] (a[i] < x)就比x小的数而言, 会贡献 val - num*x (val:小于x的数的和 num:小于x的数的个数)而删除操作就等同于将添加反过来弄一下于是就成了计算序列中小于(大于)x的数的个数以及它们的总价值,线段树能实现.但是数能达到1e9,而n却只有1e6,离散化处理一下hhh-2016/09/06-17:09:25*/#pragma comment(linker,"/STACK:124000000,124000000")#include #include #include #include #include #include #include #include #include #include