- 博客(90)
- 收藏
- 关注
原创 Subspace Inversion
(这里采取符号 (ω;q)=(1−ω)(1−ωq)⋯(1−ωqn−1)(\omega;q)=(1-\omega) (1-\omega q)\cdots(1-\omega q^{n-1})(ω;q)=(1−ω)(1−ωq)⋯(1−ωqn−1))设 f,gf,gf,g 满足gn=∑k(nk)qfkg_n = \sum_k \binom n k_q f_kgn=k∑(kn)qfk那就是gn(q;q)n=∑kfk(q;q)k1(q;q)n−k\frac{g_n}{(q;q)_n} = \su
2021-11-19 19:21:31
1425
原创 小孩召开法的一个尝试
三年之期已到!我们考虑一个 DFA,它接受的字符是 < 和 >,每条转移边上有个边权,每个节点有个终止权值。定义一个排列的权值是把它的相邻不等关系抠出来,走过的边权值相乘,最后乘以终点的终止权值。试对 ∑n(∑p∈πnw(p))xn\sum_n \left(\sum_{p\in \pi_ n} w(p)\right) x^n∑n(∑p∈πnw(p))xn 建立生成函数。我们以 小孩召开法 为例。「2019 山东一轮集训 Day3」小孩召开法 总共有两个状态,上升(AAA)和下降(D
2021-09-11 15:15:35
2237
原创 重新发现 Calkin‘s identity
考虑和式 ∑i=0n−1(∑j=0i(nj))3\sum_{i=0}^{n-1} \left(\sum_{j=0}^i \binom n j\right)^3∑i=0n−1(∑j=0i(jn))3 的结果。设答案为 SSS,我们考虑另一个和式:∑i,j,k(ni)(nj)(nk)⋅(max{i,j,k}−min{i,j,k})\sum_{i,j,k}\binom n i \binom n j \binom n k \cdot \left( \max\{i,j,k\} - \min\{
2021-09-10 23:35:19
699
原创 OEIS A098928 数表扩充
A098928:对 n×n×nn\times n\times nn×n×n 的三维立方点阵,问有多少立方体以其格点为顶点。为了计算这个问题的答案,我们不妨先看看 222 维的情况。我们先考虑一个斜着摆的正方形,其边向量可以写作 (a,b),(b,−a),(−a,−b),(−b,a)(a,b),(b,-a),(-a,-b),(-b,a)(a,b),(b,−a),(−a,−b),(−b,a)。考虑这个形状有多少种方法放进 n×nn\times nn×n 的点阵。这取决于它在 x,yx,yx,y 上的长度和宽度
2021-08-26 23:39:42
921
原创 「实验性讲稿」载谭 Binomial Sums 详解
如 G. Pólya 在他的教育著作《怎样解题》中所说:“尽可能形式地证明我们所直观看到的,以及尽可能直观地看出我们所形式证明过的,这是一种增进智力的练习。不幸,在教学中,并不总有时间来这样做。” 我想这对于撰写介绍性的个人博客来说也是颇有可借鉴学习之处的。这体现于,把东西用简洁、严谨的方式讲述出来,以方便同行理解,和以外延、启发的方式让更多的人群理解,是需要不同的策略的。“对于说明某一特定点而言,欧几里得论证展开方式是优越的,但在阐述论证的主要思路方面,则不那么好。‘聪明的读者’很容易看到每步是正确的,
2021-08-08 22:06:04
2342
原创 「日志 2021.7.2」排列是离散的极限
有正整数 N,m,kN,m,kN,m,k,问有多少长为 NNN 的序列 hhh,满足 1≤hi≤m1\le h_i\le m1≤hi≤m,且 hi<hi+1h_i<h_{i+1}hi<hi+1 的位置恰有 kkk 个。这个问题无非就是离散情况的欧拉数,我们把 GF 算出来:我们首先注意到有 kkk 个 <<< 就是说序列被 ≥\ge≥ 分割为了 n−kn-kn−k 段。考查二元 GF 的基本单位,我们需要对每个间隔进行容斥,就有∑n∑j(n−1j−1)(−.
2021-07-02 11:27:53
753
原创 哑演算初探
哑验算(Umbral Calculus),或称本影演算、Blissard 演算,是一种进行恒等式推导时的技术手段。在进行一些题目推导时,我确实发现这种方法能很大程度上简化步骤,并且结合转置原理或许事半功倍。究竟是什么技术呢?一句话解释,就是我们把一个数列 AnA_nAn 在推导过程中直接写成 tnt^ntn。...
2021-06-29 12:10:33
1630
原创 那些你不要的(1)2021.4.27 ~ 2021.6.12
4 月 27 日尝试使用新方法计算 [nk]n \brack k[kn],没有实质突破。主要想法是根据 Lagrange 反演公式,首先有转化[nk]=n![zn]1k!(ln11−z)k=(n−1)![zn−k]1(k−1)!(z1−e−z)n\begin{aligned}n \brack k &= n![z^n] \frac 1{k!} \left( \ln \frac 1{1-z}\right)^k\\&= (n-1)! [z^{n-k}] \frac 1{(k-1)!
2021-06-20 21:05:43
1559
原创 简洁的取模还原分数方法
假设同余 ppp 下的数 qqq 原本是一个分子分母的绝对值都很小的分数(准确讲,是已知 ∣a∣≤A,∣b∣≤B|a|\le A, |b|\le B∣a∣≤A,∣b∣≤B,且 AB=o(p)AB = o(p)AB=o(p)),我们可以还原出一组解 q≡a/bq\equiv a/bq≡a/b。万能欧几里得当然是可以做的。但是为什么说我们有一个异常简洁的方法呢?pair<int, int> approx(int p, int q, int A) { int x = q, y = p, a =
2021-05-22 21:58:43
1866
1
原创 最短线性递推式求解与有理函数重建
这一算法来自于我们对“线性递推式拟合”的视角转换,其后得到的算法是自然的。引理 1. 如果两个有理分式 p1/q1,p2/q2p_1/q_1, p_2/q_2p1/q1,p2/q2 均有 degp<n,degq≤n\deg p<n, \deg q\leq ndegp<n,degq≤n 且展开式 p1/q1≡p2/q2(modx2n)p_1/q_1 \equiv p_2/q_2 \pmod {x^{2n}}p1/q1≡p2/q2(modx2n),那么 p1/q1=p2/
2021-04-18 23:45:39
2158
原创 双交换消元:模合数多项式矩阵行列式、新伴随矩阵算法
王展鹏在 2020 年集训队论文中提出了一种计算模合数伴随矩阵,以及交换环上矩阵行列式的做法。今天我们讨论一个综合一点的情况:模合数多项式。设给定一个 n×nn\times nn×n 的 mmm 次多项式构成的矩阵,求行列式的 0∼m0\sim m0∼m 次项且 m≪nm\ll nm≪n。系数对 MMM 取模。我们首先做个 CRT,将模数 MMM 分解为若干 pkp^kpk 之乘积,将问题逐一解决。当 k>1k>1k>1 的时候,由于不是域,我们会遇到类似下面的无法直接消元的情形:
2021-04-17 21:10:24
938
原创 Irreducible Polynomial $\Leftrightarrow$ Lyndon Word
本构造来源于 **Christophe Reutenauer《Free Lie Algebras》Sec. 7.6.2**。设一质数的幂 $q$,我们给出一个全体 $n$ 阶 $F=\mathrm{GF}(q)$ 上不可约多项式到以 $F$ 为字符集的长为 $n$ 的 Lyndon Word 的双射。
2021-04-17 21:04:06
577
原创 「营业日志 2021.3.14」代数整数上线性筛的两个实例
在两年前我加强出了 这么 一道题目,当时得到的复杂度是 Θ(k2logn)\Theta(k^2 \log n)Θ(k2logn) 的,因为最后要做 n2n^2n2 个快速幂。经过了最近一段时间的摸鱼,突然发现这个复杂度可以再稍微降一点。限于本人水平有限,接下来会列出一些我不会证明的结果,但这些结论应当是容易在教科书或网上查询确认的。d=4d=4d=4对于 d=4d=4d=4 的情况,我们需要对于 −k≤a,b≤k-k\le a,b\le k−k≤a,b≤k,求出全体 (a+bi)n(a+b\mat
2021-03-14 23:07:31
684
3
原创 「营业日志 2021.2.5」反射容斥的代数推导
设 Q(x,t)Q(x,t)Q(x,t) 是由 {1‾,1}\{\overline 1,1\}{1,1} 所构成的游走方案,即 Q(x,t)=∑n,kan,kxntkQ(x,t) = \sum_{n,k} a_{n,k} x^nt^kQ(x,t)=∑n,kan,kxntk 表示从 000 位置走 kkk 步,最后走到 nnn 位置,且过程中坐标均 ≥0\ge 0≥0 的方案数。首先这个方程应该大致长这样:Q(x,t)=1+(x‾+x)tQ(x,t)−x‾Q(0,t)Q(x,t) = 1 + (\o
2021-02-05 10:09:13
1448
1
原创 「营业日志 2021.2.4」图上的两类多项式的一些计算
Tutte 多项式TG(x,y)=∑A⊆E(x−1)k(A)−k(E)(y−1)k(A)+∣A∣−∣V∣T_G(x,y)=\sum_{A\subseteq E}(x-1)^{k(A)-k(E)}(y-1)^{k(A)+|A|-|V|}TG(x,y)=A⊆E∑(x−1)k(A)−k(E)(y−1)k(A)+∣A∣−∣V∣其中 k(E)k(E)k(E) 表示图 (V,E)(V, E)(V,E) 的连通分量数。设 n=∣G∣n=|G|n=∣G∣,带入一组 x,yx,yx,y,对于 VVV 的子集 V′V
2021-02-04 20:25:22
619
原创 「营业日志 2021.1.26」多询问组合数前缀和
And if we don’t surviveI’d rather die than live a lie——《Nexus》令F(n,m)=∑k=0m(nk)F(n,m) = \sum_{k=0}^{m} \binom n kF(n,m)=k=0∑m(kn)询问 NNN 次 F(n,m)F(n,m)F(n,m),满足 n,m≤Nn,m\le Nn,m≤N。本问题的寻常做法是基于 n,mn,mn,m 任何一维进行 ±1\pm 1±1 的操作只需要 O(1)O(1)O(1) 计算修改。那么根.
2021-01-26 15:29:47
1683
原创 「营业日志 2021.1.14」Zeilberger 老爷子的 T 恤上写了啥?
这是一张 Wikipedia 上找到的图。其中写的恒等式是这样的:∑k(nk)2(3n+k2n)=(3nn)2 \sum_k \binom n k^2 \binom {3n+k}{2n} = \binom{3n}n^2 k∑(kn)2(2n3n+k)=(n3n)220 世纪 90 年代,组合学家 Wilf 和 Zeilberger 发展了组合恒等式机器证明的算法理论,即 WZ 理论。该理论彻底改变了组合恒等式与特殊函数研究的面貌。计算机科学大师 Knuth 认为该理论将数学中一些重要的部分从.
2021-01-14 23:31:26
1484
原创 Hello, multivariate multiplication.
我们的目的是解决高维多项式乘法时的维度爆炸问题。也就是根据传统方法,我们在计算多项式乘法 f(x1,…,xk)⋅g(x1,…,xk) mod (x1n1,…,xknk)f(x_1,\dots,x_k)\cdot g(x_1,\dots,x_k)\bmod (x_1^{n_1},\dots,x_k^{n_k})f(x1,…,xk)⋅g(x1,…,xk)mod(x1n1,…,xknk) 时,设 N=∏iniN = \prod_i n_iN=∏ini,若要先计算整个值域,则值域是 Ω(N2k)
2021-01-09 19:08:02
859
转载 「营业日志 2020.12.31」积和式 mod 2^k 算法简要介绍
本文译自:http://dx.doi.org/10.1016/j.ipl.2017.04.015为了在 nk+O(1)n^{k+O(1)}nk+O(1) 时间内计算积和式 mod 2k\bmod 2^kmod2k,我们首先要将其改写为另一个式子:perA=∑x∈{0,1}n(−1)n−x1−…,−xn∏i=1n(Ax)i\operatorname{per} \mathbf A = \sum_{\mathbf x\in \{0,1\}^n} (-1)^{n-x_1-\dots, -x_n} \pro
2020-12-31 17:05:07
1530
原创 营业日志 2020.12.25 求斯特林数的一些其他复杂度
我们认为以下四种问题及其复杂度在当下是已经基本普及的。行 S1对于 0≤k≤n0\le k\le n0≤k≤n,计算所有 [nk]{n\brack k}[kn]。理论基础:多项式平移(或称泰勒展开)实现:约等于两次长为 nnn 的多项式乘法。行 S2对于 0≤k≤n0\le k\le n0≤k≤n,计算所有 {nk}{n\brace k}{kn}。理论基础:斯
2020-12-25 11:53:30
854
原创 「营业日志 2020.12.10」Jiangly 的排列数数题
问对于所有长为 nnn 的排列,有多少排列存在一个连续上升段 ≥k\ge k≥k。对所有 kkk 回答,对大质数取模。首先经过转化,只需要数所有连续段均 <k<k<k 的即可。容易想到容斥,我们可以先假设有一些基本单位,然后容斥掉它们拼起来的情况,可得基本单位是 x−xk1−x\frac{x-x^k}{1-x}1−xx−xk,其容斥单位为1−11+x−xk1−x=1−1−x1−xk=x−xk1−xk=∑j≥0(xjk+1−x(j+1)k)\begin{aligned}&.
2020-12-10 20:22:52
1711
原创 「营业日志 2020.11.30」连通图的一个内卷方程的代数解释
今有 uoj 群友提及这样一个连通图的方程:n≥2,fn=∑k(n−2k−1)fkfn−k(2k−1)n\ge 2, \quad f_n = \sum_k \binom{n-2}{k-1} f_kf_{n-k} (2^k-1)n≥2,fn=k∑(k−1n−2)fkfn−k(2k−1)其组合意义是考虑删去 222 号点后,111 号点所在连通块大小为 kkk,再考虑去掉这个连通块之后剩下的连通块必然只有 222 号点向其连边。考虑图的方程 G(x)=∑n≥02(n2)xnn!\displ
2020-11-30 22:41:32
469
原创 「营业日志 2020.11.26」一道纳什均衡数数题
首先一个简单的想法是考虑一个朴素的 DP,Fu(i,j)F_u(i, j)Fu(i,j) 表示 uuu 所在的子树达到纳什均衡,其中 AAA 的最优策略达到了 iii,BBB 的最优策略达到了 jjj。我们来先看一下假设 u∈Au\in Au∈A 的情况。其 u∈Bu\in Bu∈B 的转移是完全对称的:设两子为 l,rl, rl,r。若以 lll 为重子,注意此时 lll 的子树维持纳什均衡,但 rrr 的子树只需保证修改 AAA 可达的最大值 ≤i\le i≤i。我们记 Xr(i)X_r(i)Xr
2020-11-26 19:31:26
7245
原创 「营业日志 2020.11.21」随机父节点树的期望树高
注意这里的树高是最大的那个深度,因此不能用第 nnn 个点的期望深度来计算。首先根据琴生不等式,有 2E[X]≤E[2X]2^{\mathbf E[X]} \le \mathbf E[2^X]2E[X]≤E[2X],因此我们考虑先计算 2h2^h2h 的期望。设 dkd_kdk 为第 kkk 个节点的深度,令 tk=2dkt_k=2^{d_k}tk=2dk。那么由于 h=max{dk}h=\max \{d_k\}h=max{dk},所以 2h=max{tk}≤∑tk2^h = \max\{t_
2020-11-21 22:39:03
2146
原创 营业日志 2020.11.19 WF2015 Asteroids 的单峰性证明
问题 有两凸多边形 A,BA,BA,B 进行匀速直线运动。即 f(t)f(t)f(t) 为在 ttt 时刻二者交的面积 μ(A∩B)\mu (A\cap B)μ(A∩B)。求证 f(t)f(t)f(t) 为单峰函数,且 f(t)∈(0,fmax)f(t) \in (0, f_{\max})f(t)∈(0,fmax) 的部分恰为两个区间,左侧单调递增,右侧单调递减。首先让我们进行问题的第一步规约:我们将时间看做第三个维度,那么 A,BA,BA,B 便是一个三维的无穷延伸的斜柱体。接下来我们证明它们都.
2020-11-19 18:34:35
438
原创 营业日志 2020.11.7 一次信息不对称引发的 CSP2020 T4 讨论
起因是在场外得到题意之后口胡 T4 的过程中,并不知道题目有这么一个性质:保证每组数据(包括所有修改完成后的)的 aia_iai 以不降顺序排列。经过了一些讨论,还是确认了如果不保证 aia_iai 有序该怎么做。首先主要思路还是模拟出如果所有人都进行决策会发生的过程。如何排序?这个问题其实较好回答,我们只需最开始进行一次长为 nnn 的排序,接下来我们每次只需对修改的 kkk 个数单独排序,而与剩下的数按照原顺序归并即可。记排序时间为 S(n)\mathsf S(n)S(n),那么这部分的
2020-11-07 23:28:42
941
原创 营业日志 2020.11.6 多询问积性函数在组合数点取值
由于笔者对于积性函数的了解比较有限,本文所作工作纯属闭门造车,得到的结果可能也并不算优,仅作为抛砖引玉,欢迎大家提出优化意见。问题 设定积性函数 f:Z>0→Gf : \mathbb Z_{>0} \rightarrow Gf:Z>0→G,多次询问 (n,m)↦f((nm))(n,m) \mapsto f(\binom n m)(n,m)↦f((mn))。设 m≤n≤Nm\le n\le Nm≤n≤N,且询问 QQQ 次。其中 GGG 看作可以高效执行乘法的交换群。下文我们不妨
2020-11-06 11:58:25
655
1
原创 营业日志 2020.11.4 倒数构造一例 CF 923 E
给数列 ana_nan,施线性变换 ak′←∑n≥kann+1a'_k \leftarrow \sum_{n\ge k} \frac{a_n}{n+1}ak′←∑n≥kn+1an 进行 mmm 次。我们来尝试回答一下 F0(x)↦F1(x)F_0(x) \mapsto F_1(x)F0(x)↦F1(x) 的过程如何用代数工具刻画。考虑变换:∫01F(xt+(1−t)) dt\int_0^1 F(xt+(1-t)) \,\mathrm{d} t∫01F(xt+(1−t))dt对于.
2020-11-04 21:48:37
650
1
翻译 一种新的线性递推计算方法
这是一篇对于新线性递推论文的解读,你可以在这里找到原文。一个众所周知的线性递推计算方法是考虑的通过快速幂计算多项式取模 xN mod Q(x)x^N \bmod Q(x)xNmodQ(x),这被称为 Fiduccia 算法(1985)。设做多项式乘法的时间为 M(n)\mathsf M(n)M(n),在一般环上的计算需要约 (3logN+O(1))M(d)\mathsf (3\log N + O(1))\mathsf M(d)(3logN+O(1))M(d) 的运算量,即使在可以做 FFT 的运算下也只
2020-10-21 12:46:41
3787
原创 营业日志 2020.10.14 K 逆序对排列计数的另一种自然求和方法
我们知道其生成函数就是 (1)(1+x)⋯(1+x+⋯+xn−1)(1)(1+x)\cdots(1+x+\cdots +x^{n-1})(1)(1+x)⋯(1+x+⋯+xn−1),即(1−x)(1−x2)⋯(1−xn)(1−x)n\frac{(1-x)(1-x^2)\cdots(1-x^n)}{(1-x)^n}(1−x)n(1−x)(1−x2)⋯(1−xn)现在我们欲求 [xk][x^k][xk],考虑首先加入哑元 ttt,变为f(t)=(1−tx)(1−tx2)⋯(1−txn)/(1−x)n
2020-10-14 08:29:19
1160
原创 营业日志 2020.10.3 杂谈——几个可以用生成函数做的超几何恒等式
大家国庆快乐!题一设 n,m≥0n,m\ge 0n,m≥0,求算∑k(n+k2k)(2kk)(−1)kk+1+m\sum_{k} \binom {n+k}{2k} \binom{2k}k \frac{(-1)^k}{k+1+m}k∑(2kn+k)(k2k)k+1+m(−1)k我们记F(x,t)=∑k∑n(n+k2k)(2kk)xktnF(x,t)=\sum_k \sum_n\binom{n+k}{2k} \binom{2k}k x^kt^nF(x,t)=k∑n∑(2kn+k
2020-10-03 12:06:57
1387
原创 营业日志 2020.9.26 一个对称的斯特林数恒等式及其扩展
两类斯特林数满足下述对称的恒等式(Abramowitz, Stegun):{nn−m}=∑k(m−nm+k)(m+nn+k)[m+kk]{n \brace n-m} = \sum_k \binom{m-n}{m+k} \binom{m+n}{n+k} {m+k \brack k}{n−mn}=k∑(m+km−n)(n+km+n)[km+k]对称的,[nn−m]=∑k(m−nm+k)(m+nn+k){m+kk}{n \brack n-m} = \sum_k \binom{m-n}{m+.
2020-09-26 00:55:07
609
原创 平移指数基变换
最近思考了一下,这个问题其实至少有 Θ((nlogn)1.5)\Theta((n\log n)^{1.5})Θ((nlogn)1.5) 的算法,但实际效率目前只有理论意义。被 Θ(n2)\Theta(n^2)Θ(n2) 暴力吊打,所以也出不了什么题,就直接把这个 idea 拿出来了。定义平移指数基是这样一组基:xkerkxx^k \mathrm e^{r_k x}xkerkx,也就是说平移指数基变换是给一个数组 aka_kak 和 rkr_krk,求∑kakxkerkx\sum_k a_k x
2020-09-14 21:43:20
761
原创 「营业日志 2020.9.10」ZJOI 2018 树——有无群论相关?
看见无论是官方题解还是其他人写的一些东西都讲了很多群论相关,在这里给出一个看起来没有什么群论的思路。我们不妨先假设能搞出一个等价类意义上的树的集合 T\mathscr TT,那答案就是1(n−1)!k∑T∈Tways(T)k\frac1{(n-1)!^k} \sum_{T \in \mathscr T} \operatorname {ways}(T)^k(n−1)!k1T∈T∑ways(T)k而对于 ways(T)\operatorname {ways} (T)ways(T) 怎么表示,我
2020-09-10 08:53:19
701
原创 营业日志 2020.8.30 平凡推导 Binomial Sums
众所周知 Min25 给出了这一问题的一个可以 Θ(k+logn)\Theta(k + \log n)Θ(k+logn) 计算的式子。但是其变形方法有点匪夷所思,故经尝试给出一种比较平凡的推导方法:∑i(ni)ik=∑i(ni)∑j≤kj!(ij){kj}=∑j≤kj!{kj}(nj)2n−j=∑j≤k(∑s(js)sk(−1)j−s)(nj)2n−j=∑s+t≤k(s+ts)sk(−1)t(ns+t)2n−s−t=∑ssk2n−s∑t≤k−s(s+ts)(−1)t(ns+t)2−t=∑ssk2n−s∑
2020-08-30 20:20:10
708
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人