搜索 这种$n$很大并且跟约数有关的题都是搜索,因为约数每次除一下大概是$log$级的。 这道题我们希望一个数的约数个数尽量大才能成为反质数,所以涉及的因子不会很多 然后爆搜一发,枚举每个因子用不用,用几次,复杂度很低 #include<bits/stdc++.h> using namespace ...
分类:
其他好文 时间:
2018-02-24 23:07:31
阅读次数:
207
题目大意: 一个数列 支持两种操作 1 把区间内的数变成他们自己的约数个数 2 求区间和 思路: 可以想到每个数最终都会变成2或1 然后我们可以线段树 修改的时候记录一下每段有没有全被修改成1或2 是的话就不修改了 不是就暴力修改 因为每个数被修改的次数很小 1 #include<iostream> ...
分类:
其他好文 时间:
2018-02-14 17:05:53
阅读次数:
197
分解因式 jdoj1370-vijos1229 题目大意:一个自然数n,求出1~20000中第一个约数个数等于n的数,如果大于20000,则输出No Solution。 注释:n<=80.在此,我们令N=20000 想法:开始想暴力,一寻思好像没戏。因为如果是极限数据的话,我们首先枚举到20000就 ...
分类:
其他好文 时间:
2018-02-07 22:45:34
阅读次数:
198
"A. water the garden" Code "F. SUM and REPLACE" 题意 对一个序列进行两种操作: 1. 将 $[l,r]$ 中每个数 $x$ 变为其约数个数 $D(x)$ 2. 对 $[l,r]$ 区间求和 思路 神似 bzoj 3211 花神游历各国 Code Ver ...
分类:
其他好文 时间:
2018-02-03 13:12:51
阅读次数:
213
题目 设d(x)为x的约数个数,给定N、M,求$\sum_{i = 1}^{N} \sum_{j = 1}^{M} d(ij)$ 输入格式 输入文件包含多组测试数据。第一行,一个整数T,表示测试数据的组数。接下来的T行,每行两个整数N、M。 输出格式 T行,每行一个整数,表示你所求的答案。 输入样例 ...
分类:
其他好文 时间:
2018-01-27 15:23:53
阅读次数:
139
Sol 首先有个结论 $\sum_{i=1}^{m}\sum_{j=1}^{n}d(i j)=\sum_{i=1}^{m}\sum_{j=1}^{n}\sum_{x|i}\sum_{y|i}[gcd(x,y)==1]$ 证明:可以看 "po姐的博客" 接着这个式子推 $$ 原式=\sum_{x=1} ...
分类:
其他好文 时间:
2018-01-10 18:34:26
阅读次数:
149
[BZOJ][1] [Luogu][2] 题意: 给定n,m,求$\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)$,其中$d(x)$表示x的约数个数。多组数据,n,m include using namespace std; define ll long long const i ...
分类:
其他好文 时间:
2018-01-09 16:51:12
阅读次数:
186
http://www.lydsy.com/JudgeOnline/problem.php?id=3994 设d(x)为x的约数个数,给定N、M,求 用到的一个结论: 证明: 枚举n的约数i,枚举m的约数j 那么i*j一定是n*m的约数 d(nm)相当于不同的i*j 的个数 若i, j 不互质 设gc ...
分类:
其他好文 时间:
2018-01-07 20:16:16
阅读次数:
151
理论基础: 1、对n质因数分解,n=p1^k1 * p2^k2 * p3^k3 …… 则n的约数个数为(k1+1)*(k2+1)*(k3+1)…… 2、线性筛素数时,用i和素数pj来筛掉 i*pj, 其中pj一定是i*pj的最小素因子 如果i是pj的倍数,pj也是i的最小素因子 设t[i] 表示i的 ...
分类:
其他好文 时间:
2018-01-07 20:00:05
阅读次数:
217
题目描述 珂朵莉给你一个长为n的序列,有m次查询 每次查询给两个数l,r 设s为区间[l,r]内所有数的乘积 求s的约数个数mod 1000000007 输入描述: 第一行两个正整数n,m第二行一个长为n的序列之后m行每行两个数l和r 输出描述: 对于每个询问,输出一个整数表示答案 示例1 输入 5 ...
分类:
其他好文 时间:
2017-12-30 23:42:20
阅读次数:
446