一个球迷可以喜欢多个球员,动态的删除或者加入球员,求每个时间段,最少需要派出多少球员满足所有球迷要求。
这里有个阅读理解:A喜欢C,B喜欢C,B也喜欢D,此时A也会喜欢D,所以此时只要派出一个D即可。
- 答案很显然就是所有联通块的大小,(注意需要-单独孤立的球员)
- 如果不成立,即出现孤立的球迷。
涉及修改,可以线段树分治,在可行区间打上标记。
联通块使用并茶几维护三个值$[联通快大小,孤立的球员,孤立的球迷]$。很好维护,然后暴力撤销即可。
代码
1 |
|
一个球迷可以喜欢多个球员,动态的删除或者加入球员,求每个时间段,最少需要派出多少球员满足所有球迷要求。
这里有个阅读理解:A喜欢C,B喜欢C,B也喜欢D,此时A也会喜欢D,所以此时只要派出一个D即可。
涉及修改,可以线段树分治,在可行区间打上标记。
联通块使用并茶几维护三个值$[联通快大小,孤立的球员,孤立的球迷]$。很好维护,然后暴力撤销即可。
1 |
|