用户工具

站点工具


2020-2021:teams:looking_up_at_the_starry_sky:2020_05_04--2020_05_10周报

团队训练

个人训练

zzy

做了一些题

推荐

[Ynoi2016]掉进兔子洞

题意:

一个长度为$n$ 的序列a。

有$m$个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立。

删掉指的是一个一个删,不是把等于这个值的数直接删完,比如三个区间是 [1,2,2,3,3,3,3] , [1,2,2,3,3,3,3] , [1,1,2,3,3],就一起扔掉了 1个 1,1 个 2,2 个 3。

题解:

离散化时,在$bitset$上给每个数留出 这个数的个数个 位置。这样就可以表示某个数有几个。

把每次询问分成三个区间,用莫队求出每个区间的$bitset$,然后&起来。

答案就是三个区间的长度$-3\times bitset$ 中 $1$的个数。

空间可能开不下,可以把询问分成几部分分别处理。

我跑得很慢的代码

shy

摸了

2020-2021/teams/looking_up_at_the_starry_sky/2020_05_04--2020_05_10周报.txt · 最后更改: 2020/05/15 22:54 由 zzy