如果我们将每个数a分解质因式: a=∏∞i=1pkii ,那么任意一个数a都可以看作一个无穷维的向量 (k1,k2,...) ,其中第i维的系数表示从小到大第i个质数在a中的指数。这样的话 ab 就可以看作是向量的数乘,所以如果有 ab11=ab22 ,就必然有 a1,a2 共线。
所以我们可以统一处理所有共线的向量,这部分向量会有一个基向量a,即每一个向量都可以写成它的若干倍,即 gcd(k1,k2,...,)=1 。注意到0向量会是一个特例,不过还好,这道题的数据范围(a≥2)保证了0向量不在待求矩阵中;不过b≥2这个约束其实是没有意义,≥1也并无妨。。
所以就相当于是有一个乘法矩阵,第i行第j列是i*j,求 [l1,r1]∗[l2,r2] 这个矩形中的不重复元素数量。 [l1,r1] 是a的指数范围,所以是 O(log
[51nod]矩阵中不重复的元素
最新推荐文章于 2021-08-18 20:33:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)