质数的简单性质及模拟
题目大意:定义f[i]表示i所含的质因子的种类数,例如12 = 2 × 3 × 3 则f[12] = 2。有q个询问,对每个询问,给出闭区间[l, r]求出该区间中任两个数的gcd的最大值。(q,l, r <= 1e6)
看数据范围想到O(1)的时间来解决每个询问。注意到8个最小的质数相乘已经超过了1e6,所以在题目所给的范围内f[i]不超过7, 于是就记录每种f[i]的个数,统计前缀和,对每次给出的区间,先统计出区间中有几个1,几个2,…,几个7,之后根据其数目求出最大公约数的最大值。
重点:关键是发现f[i]都<=7, 这样就维护7的前缀和.然后算一下就好了.
hdu 5317
最新推荐文章于 2017-06-11 08:14:00 发布