题目传送门 sol1:老实做,预处理出所有2到1e5的素数,对所有数进行分解质因数,然后对比因子个数.感觉有点卡常,用了快读然后多次优化之后才过的,map也用上了. 素数筛,快速分解质因数 #include "bits/stdc++.h" using namespace std; typedef long long LL; ; bool v[MAXN]; map<int, int> mp; int p[MAXN], pos; int a[MAXN], b[MAXN]; LL…
题意:给你一张无向图,设s(x)为与x直接相连的点的集合,题目中有两种操作: 1:1 l r 将读入的边的序列中第l个到第r个翻转状态(有这条边 -> 没这条边, 没这条边 -> 有这条边) 2:2 x y 询问s(x)和s(y)是否相等. 思路(官方题解):首要问题是怎么快速判断s(x)和s(y)是否相等.我们发现边的翻转操作实际上是异或操作,所以不妨给每个点随机一个值,用与x直接相连的点的异或和作为s(x),这样可以快速判断s(x)和s(y)是否相等.判相等解决了,怎么快速维护操作1呢?我…