Day6
LOJ6221. 幂数!
Powerful number 表示方法:\(n=a^2b^3\),其中 \(b\) 不含平方因子。
\(p^k=\begin{cases}a^2:p^{k-3},b^3:p^3&k\in奇数 \\a^2:p^k,b^3:1& k\in偶数 \end{cases}\)
\(\sum\limits_{a=1}^n\sum\limits_{b=1}^{\lfloor\frac{n}{a^2}\rfloor}[\mu(b)=\pm1]=\sum\limits_{i=1}^{n^{\frac{1}{3}}}\mu^2(i)\sqrt{\dfrac{n}{i^3}}\)
对于 \(\sqrt{\dfrac{n}{i^3}}\) 跑整除分块,\(\mu^2(i)=\sum\limits_{d^2|i}\mu(d)\)。
知识点
约数个数的级别:\(d(n)-O(n^{\frac{1.066}{lnlnn}})\)。
计算 \(d(n)\),考虑 \(<n^{\frac{1}{3}}\) 的因子,如果没有的话就是 \(p\) 或 \(p^2\) 或者 \(p_1\times p_2\)。
\(\sum\limits_{i=1}^nd(i)=\sum\limits_{i=1}^n\dfrac{n}{i}\)
把这个反比例函数画出来,找到 \((\sqrt n,\sqrt n)\)。由于竖着和横着的对称,只重叠了一个 \(\sqrt n\times \sqrt n\) 的正方形。暴力枚举 \(i\le n^{\frac{1}{3}}\)。皮克定理算的是多边形里面整点个数,可以反比例函数是曲线,我们可以拟合一下,用若干个小梯形来拟合,对于每个梯形皮克定理。用二分来找到梯形----Divcnt1
对于 \(i=1-n\),算 \(i^n\),线性筛。
对于 \(i=1-n\),算 \(i^i\),每个合数都可以表示为 \(y=x\times p_i\)。于是 \(y^y=(x^x)^{p_i}\),光速幂计算。
powerful number
我们要计算 \(f\) 前缀和,构造 \(g\),对于 \(p\),满足 \(g(p)=f(p)\)。记 \(G(n)=\sum\limits_{i=1}^ng(i)\)。构造 \(h=\dfrac{f}{g}\)。对于素数 \(p\),\(f(p)=g(1)h(p)+h(1)g(p)\),所以 $$
Min_25
时间复杂度 \(O(n)\)。
洲阁筛
存在质因子 \(>\sqrt n\)
存在质因子 \(<\sqrt n\),\(\sum\limits_{i=1}^{\sqrt n}f(i)(\sum\limits_{p\ge \sqrt n}^{\frac{n}{i}}f(p))\)。
cometoj 1071
给定 \(x,a,b\),求 \((i,j)\),\(\lfloor\dfrac{x}{i}\rfloor j=\lfloor\dfrac{xj}{i}\rfloor\) 且 \(i\le a,j\le b\)的二元组数量。\(x,a,b\le 10^9,T\le 20\)。
于是令 \(v=(x\bmod i)j\),就转化为 \(v=v\bmod i\)。
答案就是 \(\sum\limits_{i=1}^a\min(\lceil\dfrac{i}{x}\rceil-1,b)\)
project culer 530
记 \(f(n)=\sum\limits_{d|n}\gcd(d,\dfrac{n}{d})\),求 \(\sum\limits_{i=1}^nf(i)\),\(n\le 10^{12}\)。
\(\sum\limits_{d=1}^nd\sum\limits_{i=1}^{\frac{n^2}{d}}\sum\limits_{j|i}[\gcd(j,\frac{i}{j})=1]\)
\(=\sum\limits\limits_{T=1}^{\sqrt n}\varphi(T)\sum\limits_{i=1}^{\frac{n}{T^2}}d(i)\)
CF517E
先考虑 \(n=2\),
LOJ6686. Stupid GCD
P8854 [POI2002] 超级马
分维度操作,我们先对于第一维进行辗转相除 \(\pm1\)
426.【集训队作业2018】石像
缩点得到了一个 DAG,我们设 \(f_{s,i}\) 表示已经选了集合 \(s\) 中的数,\(\ge i\)。
CF1770F Koxia and Sequence
由对称性,每个位置上每种数出现的次数是相等的,我们把每个位置的权值设为该位置所有可能数(出现多次,则异或多次)异或起来,对于每个位置这个数是一样,当 \(n\) 为偶数的时候,结果就是 \(0\) 了,当 \(n\) 为奇数的时候,\(n-1\) 个互相抵消了,于是答案就是 \(a_1\)。
我们可以拆位,算出 \(a_1\) 的第 \(k\) 位中 \(1\) 出现次数的奇偶。
P8322 『JROI-4』少女幻葬
gym104090I
有一个 \(1-n\) 任意顺序排布的转盘,你可以旋转不超过 \(10^4\),每次你给定一个 \(k\) 来旋转,可以得知旋转后的数字,最后求这个 \(n\) 的值。\(n\le 10^9\)。
我们先不停跳,假设跳了 \(B\) 格,那么我们知道了连续 \(B\) 个编号。我们现在设置步长为 \(B\),不断跳,直到跳回到了原先 \(B\) 个里面。于是环长就是 \(r\times B+k\),这是 \(O(\sqrt n)\) 级别的。
发现这是 1-n 的排列,于是编号的最大值就是长度。我们可以在环上随机走 \(k\) 次,那么得到的期望编号最大值就是 \(\frac{k}{k+1}n\)。我们随机跳 \(1000\) 次,得到的 \(n_0\) 与 \(n\) 的差距就是 \(10^6\) 级别的。
某题
快速求 \(\gcd\),值域很小。
我们设