- 博客(72)
- 收藏
- 关注
原创 「营业日志 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
76
原创 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
89
转载 「营业日志 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
133
原创 营业日志 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
77
原创 「营业日志 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
159
原创 「营业日志 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
118
原创 「营业日志 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
146
原创 「营业日志 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
156
原创 营业日志 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
91
原创 营业日志 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
314
原创 营业日志 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
204
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
109
翻译 一种新的线性递推计算方法
这是一篇对于新线性递推论文的解读,你可以在这里找到原文。一个众所周知的线性递推计算方法是考虑的通过快速幂计算多项式取模 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
458
原创 营业日志 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
207
原创 营业日志 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
369
原创 营业日志 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
133
原创 平移指数基变换
最近思考了一下,这个问题其实至少有 Θ((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
323
原创 「营业日志 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
229
原创 营业日志 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
216
原创 营业日志 2020.8.25 单位根与等价类
一年前的 BJ 集训里出现了这样一道题,其中我留下了这样一个疑惑:计算 ∏i=0n−1(1+xi) mod (xn−1)\prod_{i=0}^{n-1} (1+x^i) \bmod (x^n-1)∏i=0n−1(1+xi)mod(xn−1) 的系数。当然这个问题的第一个 observation 是非常重要的,即对于 gcd(n,k)=g\gcd(n,k)=ggcd(n,k)=g 有相同 ggg 的 kkk,各 kkk 次项系数是相等的。因此我们可以认为这个问题只要求 d(n)d(n)d(n)
2020-08-25 21:24:22
462
原创 NOI2020 游记
Day ?各种比赛打的都有点无话可说,疫情期间几乎一直都是上网课。和 xtq 一块出出来个震撼的数数题,然后居然被允许放到 CF 上了!让世界爱上中国造终于把高二的课给结了。到了暑假,然后开始每周两场牛客多校两场杭电多校。有时候感觉自己单挑也挺勇的,有时候全靠给 xtq 好兄弟端茶送水(雾)同时感觉自己过的生活十分老年,每天晚上饭后和父母还有一岁的弟弟到小区散步,对我来说更重要的是喜欢戴着耳机四处游荡的感觉。Day -27刷知乎看到了一个叫《他人世界末》的游戏,第一次尝试了一下传说中的 GAL
2020-08-21 23:44:58
2375
原创 任意模数二项卷积
二项卷积:cn=∑k(nk)akbn−kc_n = \sum_k \binom n k a_k b_{n-k}cn=k∑(kn)akbn−k当模数 MMM 有一质因子 p≤np\le np≤n 时,计算二项卷积无法直接变为 EGF 进行计算,因为 n!n!n! 此时不可逆。我们考虑首先如何解决 M=pkM = p^kM=pk 时的情况,然后可以用 CRT 合并各情况。我们记 vp(n)v_p(n)vp(n) 是 n!n!n! 中 ppp 的质因子次数,ppp-阶乘为 n!p=pvp
2020-07-20 09:27:45
880
原创 SNOI2020(未完)
SNOID1T2打表发现获胜当且仅当 n−1n-1n−1 的斐波那契表示中最低位对应的斐波那契数 ≥k\ge k≥k。剩下的就是一个比较简单的数位 DP 了,从高到低考虑即可。时间复杂度 Θ(Tlogn)\Theta(T \log n)Θ(Tlogn)。代码D1T3把 Beats 和 EITKTT 整到一块。复杂度分析先鸽着。代码D2T1首先考虑任给两个集合怎么做。这等价于在一颗有根树上建立一个匹配,让配对的点 LCA 深度之和最小。我们贪心的自底向上匹配即可。那么这个题就在两个串拼接
2020-07-07 12:50:35
794
原创 ZJOI2020(未完)
ZJOID2T2容易想到对于任何一个不存在长为 kkk 的连续段的,已经获得了 rrr 张牌的方案,它都有 1(nr)\frac1{\binom n r}(rn)1 的概率被经过,并且期望停留 mm−r\frac{m}{m-r}m−rm 的时间。对于一整段卡池长为 lll,那么我们考虑末尾补一张牌必然没抽中,不存在长为 kkk 的段,其中计量没抽中的张数就可以用 [zl+1]11−uz1−zk1−z[z^{l+1}]\frac1{1-u z\frac{1-z^k}{1-z}}[zl+1]1−uz1
2020-07-07 12:50:27
1066
6
原创 小截断多元多项式行列式求算
对于域 A\mathbb AA 上的 nnn 阶多项式矩阵 A(x,y)\mathbf A(x, y)A(x,y),其中 xxx 的次数都小于 aaa,yyy 的次数都小于 bbb。我们想要求 detA mod xa mod yb\det \mathbf A \bmod x^a \bmod y^bdetAmodxamodyb。其中主要问题在于消元的过程中,可能出现常数项为 000 的情况,如果是一元多项式我们还可以用低次消去高次的方法,但多元多项式就显得要复杂了。因此我们考虑构造占位多项式 xiyj→
2020-06-05 23:40:50
411
原创 营业日志 2020.5.20
今有 uoj 群友问到,如下式子如何快速计算:[xn]1∏i=0m(1−(u+vi)x)[x^n] \frac{1}{\prod_{i=0}^m (1 - (u+vi)x)}[xn]∏i=0m(1−(u+vi)x)1我想了想,觉得这就是[xn]1∏i=0m(1−(u+vi)x)=[xn+m(n+m)!]eux(evx−1)mm!vm=1m!vm∑k=0m(mk)(−1)m−k(u+kv)n+m\begin{aligned}[x^n] \frac 1{\prod_{i=0}^m (1-(u+v
2020-05-20 20:17:30
1151
1
原创 CF#641 F2 Slime and Sequences 另解
我们将暴力计算出二元生成函数 F^(z,t)=∑n≥1∑k=1nAn,kzntkn!\widehat F(z, t) = \sum_{n\ge 1}\sum_{k=1}^n A_{n,k}\frac{z^nt^k}{n!}F(z,t)=∑n≥1∑k=1nAn,kn!zntk, 其中 An,kA_{n,k}An,k 是所有 nnn 长度的序列中 kkk 出现次数的和. 考虑容斥原理. 对于 maxk=m\max k = mmaxk=m 的序列, 我们有∑j=1m∑S⊆{1,2,⋯m−1}(−1)
2020-05-18 18:20:22
885
原创 BJOI2019 勘破神机 新解
考场上就随便莽了个 Θ(k2logr)\Theta(k^2\log r)Θ(k2logr) 的做法发现反正能过,就不管了……直到最近又提起这道题。事情的经过其实是这样的……偶然看到了 cz_xuyixuan 用 BM 直接给莽过去了,感到有点诧异,于是就冷静了一下,发现这道题的特征根有很强的性质:对于 T=2T=2T=2 的部分,因为递推式是 x2−x−1x^2-x-1x2−x−1,所以两...
2020-04-14 22:58:39
654
原创 生成函数的败北
略有标题党,只是为了让更多人点进来。绚烂烟火 夜色绚丽你的剪影 幻化成 琉璃让它去散落 在这 白夜里——《白夜梦》执迷不悟一载有余——我们唯有打破自己的过去,让淋漓的鲜血渗透破碎的骨骼,让那最深的痛楚和绝望重逢,才有可能迎来重生。迷茫和绝望才是对的……因为没有痛苦就没有真实。生成函数固然有用,但是它仅仅是组合工具中的一个分支,并没有一劳永逸的存在。在下才疏学浅,仅以自己一些微薄的尝...
2020-04-07 23:45:06
1300
6
原创 US Open 2020 T2 Exercise
首先根据一番推导,不包含 LLL 的倍数长度的排列长度由exp(−∑k≥1zkLkL)11−x=(1−zL)1/L/(1−z)\exp (-\sum_{k\ge 1} \frac{z^{kL}}{kL}) \frac1{1-x} = (1-z^L)^{1/L}/(1-z)exp(−k≥1∑kLzkL)1−x1=(1−zL)1/L/(1−z)这一 EGF 表示,因此令 k=⌊n/L⌋...
2020-03-30 22:12:49
955
原创 HALF-GCD算法的阐述
翻了各课件,发现……https://cp-algorithms.com/algebra/polynomial.html 是这么说的:There is a way to calculate the GCD and resultants in O(nlog2n)O(n\log^2n)O(nlog2n). To do this you should note that if you consid...
2020-03-10 17:39:17
656
原创 分拆数的第三种计算方法
我们考虑从 Ferrers diagram 的原点引出一条 y=xy=xy=x 的直线,它离开这个图的位置就框处了一个 h×hh \times hh×h 的正方形,这个正方形被称为一个整数拆分的 Durfee square。那么如果我们确认了正方形的边长是 hhh,它两侧放置的就都是 ≤h\le h≤h 的整数划分。因此我们得到了整数划分的这样一个表达式:∏k≥111−xk=∑h≥0xh2(∏k...
2020-03-08 11:39:45
815
原创 线性递推乘积
首先有一定经验都应该能预见到两个线性递推数列的乘积还是个线性递推数列,然而用 BM 求解显得有些粗暴……初级理解:注意当 ana_nan 是 NNN 阶递推,bnb_nbn 是 MMM 阶递推,那么记 ana_nan 的递推多项式为 ∏i(x−λi)si\prod_i (x-\lambda_i)^{s_i}∏i(x−λi)si,bnb_nbn 的递推式为 ∏j(x−μj)tj\p...
2020-02-13 15:57:01
562
原创 JOI 2020 Final 题解
T1显然第 kkk 长的 AAA 与 BBB 匹配是最优的,考虑将 A,BA, BA,B 排序,当 k≤ik \le ik≤i 时,BiB_iBi 与 Ai+1A_{i+1}Ai+1 匹配,当 k>ik> ik>i 时,BiB_iBi 与 AiA_iAi 匹配,因此我们用一个前缀最值一个后缀最值就可以拼出每个 kkk 的答案。时间复杂度 Θ(NlogN)\Theta...
2020-02-09 13:50:40
1170
原创 USACO 2020Jan Platinum 题解
T1 Cave Paintings水在从下向上涨的时候可以看做是一些从不连通变为联通,因此可以等价为一种树形结构的填水方案。维护一下连通性做树形 DP 即可。T2 Non-Decreasing Subsequences朴素 DP 即为每次将 ≤ai\le a_i≤ai 的位置的方案数加到 aia_iai 上。设其中第 iii 个位置产生的转移是 aMiaM_iaMi,则答案可表示为 (...
2020-01-25 23:04:54
1100
空空如也
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝