Fishermen Gym

博客参考:https://www.cnblogs.com/Tianwell/p/11778494.html

主要是思想:

1、首先,l以上的所有鱼都不肯被捕捉

2、如果从捕鱼人来看,要两重循环,先循环捕鱼人在循环鱼

换一种思考,从鱼的角度,计算每条鱼可以被捕捉的x区间[L,R],在计算前缀和即可

需要注意:lower_bound(a,a+n,x)-a;寻找的是a中第一个大于等于x的值

                  upper_bound(a,a+n,x) - a;  寻找的是第一个大于x的值  此函数采用的是二分查找

3、sum[L]++;   sum[R]--;    

 左区间+1说明从此点开始之后的捕鱼人皆可捕到这条鱼,右区间-1,说明过了此点,这条鱼将不再被该点后的捕鱼人捕到。

for (int i=1;i<=m;i++){

     sum[i]+=sum[i-1];

}

原文地址:https://www.cnblogs.com/0211ji/p/13865781.html