CF 980D Perfect Groups(数论)】的更多相关文章

CF 980D Perfect Groups(数论) 一个数组a的子序列划分仅当这样是合法的:每个划分中的任意两个数乘积是完全平方数.定义a的权值为a的最小子序列划分个数.现在给出一个数组b,问权值为i的b的子串个数. 这题意真不是人类智慧能轻易描述的.据说此题在比赛场上读题30min,做题5min,做完还WA.果然是坑题. 如果有两个数a和b,a和b的乘积是完全平方数,那么如果a有因子x^2,那么x^2就可以去掉,使a变成a/x^2,结论依然成立.因此我们把所有数的质因子次数mod2,可以发现…
原文链接https://www.cnblogs.com/zhouzhendong/p/9074164.html 题目传送门 - Codeforces 980D 题意 $\rm Codeforces$ 真是个令人伤心的地方. 伤心的 $zzd$ 现在给你一个含有 $n$ 个数字元素的数列. $zzd$ 问你对于 $1$ 到 $n$ 之间的每一个 $k$ 满足 $Q(序列)=k$ 的原序列的连续子序列个数. 其中,$Q()$定义如下: 把当前数列中的数分组,使得同组中任意两个数的乘积为完全平方数.其…
题意: 有这样一个问题,给出一个数组,把里面的数字分组,使得每一个组里面的数两两相乘都是完全平方数. 问最少可以分成的组数k是多少. 现在一个人有一个数组,他想知道这个数组的连续子数组中,使得上面的问题答案分别为1到n的数组有多少个. 第一个样例 2 5 5 子数组有[5],[5],[5 5]三个,这三个组最少可以分别分为1 1 1组,使得每个组的任意两个数相乘都是平方数. 思路: 感谢js帮本智障debug. 首先对于一个不为0的数,如果把它的所有完全平方数的因子去掉,那么是不会影响结果的.…
题意:给一个序列,对于每一个连续的区间,区间内的数至少分成几个组,使得每个组内的数任意2个相乘是一个完全平方数(包括0). 输出每个组数的个数. $n \leq 5000 , |a_i| \leq 10^8$ 我们发现,对于一个数$x$,我们把$x$所有成对的相同质因子除去之后得到的数是$f(x)$ 那么分到同一个组的所有数的$f(x_i)$相同,0可以被分到任何集合 明显我们可以$n^2$做这道题,枚举一个子序列的右端点,然后从右到左枚举左端点,顺便维护最小组数. 对于加入一个数$x$,我们需…
\(>Codeforces\space980 D. Perfect Groups<\) 题目大意 : 设 \(F(S)\) 表示在集合\(S\)中把元素划分成若干组,使得每组内元素两两相乘的结果的都是完全平方数的最小组数 对于长度为\(n\)的序列 \(A\) ,对于每一个 \(k \, (1 \leq k \leq n)\) ,分别求出在\(A\)的所有子串中有多少 \([l, r]\) 满足 \(F(A[l, r]) = k\) $n \leq 5000, \space |A_{i}| \…
链接 题目大意: 定义一个问题: 求集合$S$的最小划分数,使得每个划分内任意两个元素积均为完全平方数. 给定$n$元素序列$a$, 对$a$的所有子区间, 求出上述问题的结果, 最后要求输出所有结果的出现次数 可以先考虑每个划分中的数需要满足什么条件. 假设均为正数, 则只需要所有数除去平方因子后相等即可, 负数的话, 跟正数一样, 正负分开处理即可, 再特判掉$0$. 再考虑如何求解, 因为$n$范围比较小可以支持$n^2$算法的, 直接考虑暴力求出每个子区间的结果, 最后再统计答案. 这样…
传送门:>Here< 题目大意:先抛出了一个问题——“已知一个序列,将此序列中的元素划分成几组(不需要连续)使得每一组中的任意两个数的乘积都是完全平方数.特殊的,一个数可以为一组.先要求最少分几组.”在这个问题的基础上,给出一个长度为n的序列,该序列有\(\frac{n(n+1)}{2}\)个子序列,求每个子序列对于上面这个问题最少划分几次.并分别统计最少划分k次的子序列有几个. 解题思路 题目由于是英文的,好长时间没读懂,而且还读错.注意he needs to find the number…
题意 定义一个串的权值是将其划分成 \(k\) 组,使得每一组在满足"从组里选出一个数,再从组里选出一个数,它们的乘积没有平方因子"这样的前提时的最小的 \(k\).每组的数不必相邻, 不必连续. 现在给你一串数,问你,权值为 \(1,2,\ldots,n\) 的子串分别有多少个. 解答 显然如果一个数中含有平方因子,抹去平方因子也不会对答案产生影响. 因此对于一个串,抹去平方因子后,有多少种不同的数,权值就是多少.注意要特判 \(0\). #include <iostream&…
CF 984C Finite or not? (数论) 给定T(T<=1e5)组数据,每组数据给出十进制表示下的整数p,q,b,求问p/q在b进制意义下是否是有限小数. 首先我们先把p/q约分一下.类比一下b=10的情况,我们发现约分后,只有当q的因数仅有2的倍数和5的倍数时,p/q才是有限小数.于是这启发我们猜结论:仅当q的质因数集合包含在b的质因数集合内时,p/q在b进制下才是有限小数. 那么现在问题就被转换为了:已知两数q,b,问q的质因数集合是否完全包含在b的中. 设\(b=p_1^{k…
UVA 10622 - Perfect P-th Powers 题目链接 题意:求n转化为b^p最大的p值 思路:对n分解质因子,然后取全部质因子个数的gcd就是答案,可是这题有个坑啊.就是输入的能够是负数,负数的情况比較特殊,p仅仅能为奇数.这时候是要把答案不断除2除到为奇数就可以. 代码: #include <stdio.h> #include <string.h> #include <math.h> long long n; int prime[333333],…