Codeforces 1097F. Alex and a TV Show】的更多相关文章

题意:有n个可重集合,有四种操作: 1:把一个集合设置为单个元素v. 2:两个集合求并集. 3:两个集合中的元素两两求gcd,然后这些gcd形成一个集合. 4:问某个可重复集合的元素v的个数取模2之后是多少. 思路:因为集合的元素是对2取模,那么我们可以用bitset来代替可重复集合.但是,如果每个bitset来直接代表多重集的话,第三个操作会很麻烦.所以我们每个集合的bitset用来代表每个元素和每个元素约数的集合,这样某个约数为标记为1说明这个约数的倍数的和为奇数(这个约数的倍数就是这个元素…
传送门 由于只要考虑 $\mod 2$ 意义下的答案,所以我们只要维护一堆的 $01$ 容易想到用 $bitset$ 瞎搞...,发现当复杂度 $qv/32$ 是可以过的... 一开始容易想到对每个集合开一个 $bitset$ ,叫 $cnt[]$ ,维护各种值的数出现了奇数还是偶数次 因为要维护那个奇怪的 $3$ 操作,所以改成维护各种值的倍数出现了奇数还是偶数次,即 $cnt[x]$ 维护集合内所有 $x|d$ 的数 $d$ 的出现次数 那么对于操作 $3$,$x$ 的倍数和 $y$ 的倍数…
传送门 除了操作 \(3\) 都可以 \(bitset\) 现在要维护 \[C_i=\sum_{gcd(j,k)=i}A_jB_k\] 类比 \(FWT\),只要求出 \(A'_i=\sum_{i|d}A_d\) 就可以直接按位相乘了 求答案就是莫比乌斯反演,\(A_i=\sum_{i|d}\mu(\frac{d}{i})A'_i\) 把每个数字的 \(\mu\) 的 \(bitset\) 预处理出来,乘法就是 \(and\) 最后用 \(count\) 统计答案 # include <bits…
Description 你需要维护 \(n\) 个可重集,并执行 \(m\) 次操作: 1 x v:\(X\leftarrow \{v\}\): 2 x y z:\(X\leftarrow Y \cup Z\): 3 x y z:\(X \leftarrow \{\gcd(a, b)\ |\ a\in Y, b\in Z\}\): 4 x v:询问 \(v\) 在 \(X\) 中出现次数 \(\bmod 2\) 的结果. Hint \(1\le n\le 10^5, 1\le m\le 10^6…
[CF1097F]Alex and a TV Show(bitset) 题面 洛谷 CF 题解 首先模\(2\)意义下用\(bitset\)很明显了. 那么问题在于怎么处理那个\(gcd\)操作. 然后就莫比乌斯反演一下:\(f[n]=\sum\limits_{n|d}g[d],g[n]=\sum\limits_{n|d}\mu(\frac{d}{n})f[d]\),发现这样子搞完之后,如果要处理集合\(g\)的\(gcd\)操作,就是把\(g\)变成\(f\)之后再按位乘起来(二进制意义下的按…
题目地址:CF1097F Alex and a TV Show bitset+莫比乌斯反演(个人第一道莫比乌斯反演题) 由于只关心出现次数的奇偶性,显然用bitset最合适 但我们并不直接在bitset中存 \(x\) 的个数,而是存 \(x\) 的约数出现的个数 对于操作1,先预处理然后直接赋值 对于操作2,直接 \(xor\) 对于操作3,直接 \(and\) 对于操作4,用莫比乌斯反演处理一下: 设 \(f(x)\) 为 \(x\) 出现的次数, \(g(x)\) 为 \(x\) 作为约数…
[CF1097F]Alex and a TV Show 题面 洛谷 题解 我们对于某个集合中的每个\(i\),令\(f(i)\)表示\(i\)作为约数出现次数的奇偶性. 因为只要因为奇偶性只有\(0,1\)两种,我们考虑用\(bitset\)维护这个\(f\). 那么, 对于\(1\)操作你可以预处理一下\(v\)的\(bitset\), 对于\(2\)操作就是两个集合的\(bitset\)异或一下, 对于\(3\)操作就是两个集合的\(bitset\)与一下. 最后我们要由\(f(i)\)推回…
Alex decided to try his luck in TV shows. He once went to the quiz named "What's That Word?!". After perfectly answering the questions "How is a pseudonym commonly referred to in the Internet?" ("Um... a nick?"), "After…
Description Luba needs your help again! Luba has n TV sets. She knows that i-th TV set will be working from moment of time li till moment ri, inclusive. Luba wants to switch off one of TV sets in order to free the socket. Let's call some TV set redun…
传送门 发现自己对mobius反演的理解比较浅显-- 首先我们只需要维护每一个数的出现次数\(\mod 2\)的值,那么实际上我们只需要使用\(bitset\)进行维护,每一次加入一个数将其对应次数异或\(1\).那么\(2\)操作就相当于将集合\(x\)对应的\(bitset\)赋值为\(y\)与\(z\)的异或和. 看到\(3\)操作中的gcd,考虑莫比乌斯反演.我们在加入一个数到集合中的时候,不是加入它本身,而是加入它的所有因子.这样我们的\(3\)操作的实质就是一个按位与操作了. 对于\…