【A】数论
https://www.luogu.com.cn/article/cj96zuy7
类欧
给定 \(\mathtt{U,R}\),他们是有结合律的操作。有直线 \(y=\frac{ax+b}{c}\),用一个点在直线上跑,\(x\in (0,n]\)。当这条直线与横线有交点时往操作序列 pushback \(\mathtt{U}\),当与竖线有交点时 pushback \(\mathtt{R}\)。
最后问操作序列的信息和。
令 \(f(a,b,c,n,\mathtt{U},\mathtt{R})\) 表示上述答案。
- \(a\ge c\):递归 \(f(a\bmod c,b,c,n,\mathtt{U},\mathtt{U}^{\left\lfloor \frac{a}{c} \right\rfloor}\mathtt{R})\)。
- \(a<c\):
第 \(i\) 个 \(\mathtt{R}\) 前有 \(\left\lfloor\frac{ai+b}{c}\right\rfloor\) 个 \(\mathtt{U}\)。那么可以推导第 \(j\) 个 \(\mathtt{U}\) 前有第 \(i\) 个 \(\mathtt{R}\):\(j> \left\lfloor \frac{ai+b}{c}\right\rfloor \Rightarrow \left\lfloor\frac{cj-b-1}{a}\right\rfloor\ge i\)。
令 \(C_{\mathtt U}=\left\lfloor \frac{an+b}{c} \right\rfloor\),也就是 \(\mathtt U\) 的数量。
先把第一个 \(\mathtt{U}\) 和之前的 \(\left\lfloor \frac{c-b-1}{a} \right\rfloor\) 个 \(\mathtt R\) 操作截掉,递归 \(f(c,c-b-1,a,C_{\mathtt U}-1,\mathtt{R},\mathtt{U})\),以及最后的 \(n-\left\lfloor \frac{c\times C_{\mathtt U}-b-1}{a}\right\rfloor\) 个 \(\mathtt R\)。
info F(LL a,LL b,LL c,LL n,info U,info R)
{
if(!n) return {};
if(a>=c) return F(a%c,b,c,n,U,ksm(U,a/c)+R);
LL cnt=((__int128)a*n+b)/c;
if(!cnt) return ksm(R,n);
return ksm(R,(c-b-1)/a)+U+F(c,(c-b-1)%a,a,cnt-1,R,U)+ksm(R,n-((__int128)c*cnt-b-1)/a);
}
好像 AT 的题比较多。
QOJ5518 Binary Arrays and Sliding Sums
\(f(a)\to a\) 的映射:\(f(a)_i-f(a)_{i-1}=a_{i}-a_{i-k}\),按照这个 \(k\) 的循环分组,也就是 \(\gcd(n,k)\) 组。
每组内全 0 或者全 1 是无法区分的,其余是可以区分的。
而全 0 和全 1 的区别是给 \(f(a)\) 整体加上一个值,所以我们只关心有多少个这样的组。
令 \(g=\gcd(n,k)\)。枚举全 0 或 全 1 的组:
\(ans=\sum_{i=0}^{g} \binom{g}{i}(i+1)(2^{n/g}-2)^{g-i}\)。
QOJ11549 Inverse Knapsack
https://qoj.ac/problem/11549/discussion/1112
LOJ6179 Pyh 的求和
https://www.cnblogs.com/TalBana/p/19101756
P15367 秋季限定生成树问题
- 结论:点 \(i\) 会选择连向 \(i<j,\gcd(i,j)=1\) 中的最大的 \(j\)。
证明:
首先所有的 \(ki+1\) 都和 \(i\) 互质,如果存在某条边 \(\gcd(i,j)\ne 1\):
- 若 \(j<\left\lfloor\frac{n}{i}\right\rfloor i+1\),则一定不如连 \(\left\lfloor\frac{n}{i}\right\rfloor i+1\)。
- 否则 \(\gcd(i,j)\) 至少为 2,他也不会大于 \(\left\lfloor\frac{n}{i}\right\rfloor i+1\) 的贡献。
而所有的 \(\gcd(i,j)=1\),我们一定取最大的。同时树形结构也得到保证。
显然 $n-v\le $ Prime Gap,所以只用枚举 \(O(\log n)\) 个 \(v\),从大往小暴搜每个 \(v\) 选择的 \(d\)。
优化:设当前 \(\operatorname{LCM}(d)=L\),若当前 \(v\) 和 \(L\) 不互质,一定有 \(\gcd(i,v)>1\),所以可以直接跳过。
P16637 春季限定独立集问题
树上独立集贪心:深度从大往小选择,若存在儿子被选择就不选,否则选。
考虑一个点子树只和 \(\left\lfloor\frac{n}{i}\right\rfloor,m_i\) 相关,当 \(m_i\) 越大他的儿子越多。所以肯定是有一个 \(f_{n/i}\),当 \(m_i\le f_{n/i}\) 时 \(i\) 在独立集内,否则在独立集外。
考虑找到一个最小的 \(p\le \min(i,n/i)\),使得 \(p\le f_{n/i/p}\),则 \(ip\) 这个儿子就是会被选择的。
不考虑 \(f\) 的性质可以 \(O(n^{3/4})\) 求所有的 \(f\),但是其实 \(f\) 很小可以暴力求。
接下来就是 min25 做的事情了,时间复杂度 \(O(\frac{n^{3/4}}{\log n})\)。
QOJ8076 Magical Pair
\(x,y\) 都是 \(n\) 的倍数是好处理的。剩下的情况考虑 \(x\bmod n,x\bmod (n-1),y\bmod n,y\bmod (n-1)\) 这四元组唯一对应了给定范围内的 \((x,y)\),所以转为计数 \(a^b\equiv c^d \pmod n\)。那么计数 \(o_v=\sum_{a,b} a^b\),两边同时取 \(\log\):\(\log v\equiv b\log a\),然后就变成 \(v'\equiv ab \pmod {n-1}\),其中 \(a,b< n-1\)。
QOJ14973 Welcome to Math Kingdom!
先令 \(a=c=1\)。
\(\frac{1+b^3}{1+d^3}=\frac{p}{q}\),\(\frac{(b+1)(b^2-b+1)}{(d+1)(d^2-d+1)}=\frac{kp\times 1}{kq\times 1}\),则 \(b^2-b+1=d^2-d+1\Rightarrow b+d=1\)。
\(k=\frac{3}{p+q}\),同时乘上 \(p+q\) 得到 \(b=3p-(p+q)=2p-q,d=3q-(p+q)=2q-p,a=p+q,c=p+q\)。
如果 \(\frac{1}{2}< \frac{p}{q} < 2\) 则这个解是合法的。
否则考虑调整。不妨设 \(p\le q\),当 \(\frac{p}{q}\le \frac{1}{2}\) 时让 \(p\leftarrow 8p\)。当 \(\frac{p}{q}\ge 2\) 时让 \(p\leftarrow 8p,q\leftarrow 27q\)。
QOJ11623 Construct Point
Sol I:类欧+二分。
Sol II:先令 \(C\) 为原点,然后我们可以给坐标轴变换:\(x'\leftarrow x,y\leftarrow y-kx\),其中 \(k\) 是整数。
这样让 \(A\) 变换到 \((a,0)\),然后让 \(B\) 做 \(x'\leftarrow x-ky,y'\leftarrow y\),这样 \(A\) 不变而 \(B(c,d)\) 满足 \(0\le c<d\),现在检查 \((1,1)\) 即可。
P11422 [清华集训 2024] 平原
考虑先二分 \(L(0),L(V)\) 的范围,然后现在是在一个平行四边形内找直线。
考虑 \(a_0< L(0)<a_1,b_0<L(V)<b_1\),我们在这个平行四边形内的 \(y=a_1\) 和 \(y=b_0\) 上分别二分两个点继续缩小直线的范围。
类似这样一直做子问题。
令我们这个平行四边形的最小外接矩形大小是 \((n,m)\),你可以先做对 \(y\leftarrow y-kx\) 的线性变换使得 \(m\le n\),然后若 \(m>\frac{n}{2}\) 可以继续做 \(y\leftarrow y-x\)。
这下你做到 \(m=1\) 就区分了所有点。
把问过的点拉出来跑上下凸包然后枚举切线判定。
浙公网安备 33010602011771号