为啥就我这么弱
娘的,又垫底了。一道题不会做,直接没交。——赛后交了下赛时的代码,零分。
\(\sf yspm\) 都知道我卖弱了。我也不想的,但是我除了弱一无所有了。
\(T1\) 的二维偏序,我没看出来。就个裸的 \([l\leqslant a,b\leqslant r]\),我愣是认不出来。
\(T2\) 对时间轴分治(线段树分治似乎可行),我没看出来。写了个 \(\log^3\) 做法,因为写之前复杂度算错了。然后还没调过样例。
小指上的伤口也不见好转。至少这周要好吧。别再拖了。疼。刺痛。
所以这里到底是闲话还是题解。是咒骂吧。我倒挺希望能够在这里写点脏话的。
磕 \(\sf yspm\) 和 \(\sf zero4388\) 是我仅剩的一点现实的乐趣了。
昨天打使命召唤,闪退了,存盘点没了。真倒霉。
但是近 \(30\) 天不知道发生了多少倒霉事情。都不是很吃惊了的说。
\(T3\) 数学题:从 \([0,nm)\) 中选若干数,余数为 \(x\) 的方案数记为 \(f_x\),求 \(\sum f_x^{\thinspace 2}\) 。\(n,m\leqslant 10^{18}\) 。
\(\sf crashed\) 仗着自己强,就开始天马行空讲些不得了的东西,我代表数学矮子强烈谴责这种行为。其实是 DYM 的接班人。
下面是抄的题解做法。但是复杂度中的符号看不懂,所以不清楚最后一步咋处理的。😢
\(\textit{DFT}\) 得到
于是有
令 \(d=\gcd(u,n)\),由因式定理即得
而
代回原式得
注意到 \(k\) 只出现在 \([n\mid dpk]\) 中,且显然实际有用部分是 \(\gcd(k,n)\) 。因此 \(\gcd(k,n)\) 相等时,\(f_k\) 就相等。因此只需对所有 \(n\) 的因子 \(k\) 计算。
简记 \(v_d=((-1)^{n/d}-1)^{dm}\),则上式即
由于 \(w\mapsto [w\mid k]\;w\) 和 \(\mu\) 是积性函数,研究其贝尔级数,发现只有 \(+1,-1\) 两项。因此可以 \(\mathcal O(d(n))\) 枚举每个 \(v_d\) 的贡献,要求 \(k\) 在某些质数上的指数固定。
这样我们至少得到个 \(\mathcal O(d(n)\log n)\) 的做法。不清楚能不能过。
还有种聪明的做法即利用 \(f_k=f_{n-k}\) 的特点,转化为求解 \([x^0]F(x)^2\bmod(x^n-1)\) 。这样就只需要算 \(\hat f\),最后提取单点 \(f\),可以做到 \(\mathcal O(d(n))\) 。
Comment. 其中 \(d(n)\) 表示 \(n\) 的约数个数。据称用 \(d(n)=\mathcal O(n^{1.066\over\ln\ln n})\) 作估算是比较准确的。
如果这篇文章对你有帮助,那么作者是:OneInDark,原文在:https://www.cnblogs.com/OneInDark/p/16563190.html,否则我也不知道这是谁的文章。