Venice Technique是我在cf补题的时候看到的,有兴趣的人可以看看这位大佬对这个技巧的描述:
大佬写的博客传送门
简单总结一下,该技巧可以看成一种数据结构.
并支持以下操作:
1.添加一个新元素到集合中.
2.把一个元素从集合中删去.
3.把集合中的所有元素加上一个值.
4.得到所有元素的最小值
代码如下:
struct VeniceSet {
multiset<int> S;
int water_level = 0;
void add(int v) {
S