- 博客(90)
- 收藏
- 关注
原创 营业日志 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 1245
原创 NOI2020 游记
Day ?各种比赛打的都有点无话可说,疫情期间几乎一直都是上网课。和 xtq 一块出出来个震撼的数数题,然后居然被允许放到 CF 上了!让世界爱上中国造终于把高二的课给结了。到了暑假,然后开始每周两场牛客多校两场杭电多校。有时候感觉自己单挑也挺勇的,有时候全靠给 xtq 好兄弟端茶送水(雾)同时感觉自己过的生活十分老年,每天晚上饭后和父母还有一岁的弟弟到小区散步,对我来说更重要的是喜欢戴着耳机四处游荡的感觉。Day -27刷知乎看到了一个叫《他人世界末》的游戏,第一次尝试了一下传说中的 GAL
2020-08-21 23:44:58 4729
原创 任意模数二项卷积
二项卷积: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 1855
原创 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 1443
原创 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 1744 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 985
原创 营业日志 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 2328 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 1334
原创 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 1018
原创 生成函数的败北
略有标题党,只是为了让更多人点进来。绚烂烟火 夜色绚丽你的剪影 幻化成 琉璃让它去散落 在这 白夜里——《白夜梦》执迷不悟一载有余——我们唯有打破自己的过去,让淋漓的鲜血渗透破碎的骨骼,让那最深的痛楚和绝望重逢,才有可能迎来重生。迷茫和绝望才是对的……因为没有痛苦就没有真实。生成函数固然有用,但是它仅仅是组合工具中的一个分支,并没有一劳永逸的存在。在下才疏学浅,仅以自己一些微薄的尝...
2020-04-07 23:45:06 2760 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 1415
原创 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 1797
原创 分拆数的第三种计算方法
我们考虑从 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 2796
原创 线性递推乘积
首先有一定经验都应该能预见到两个线性递推数列的乘积还是个线性递推数列,然而用 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 1314
原创 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 1877
原创 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 1644
原创 自我防御机制过度反弹
我心中的那朵花,在这个下午,大概的确已经死掉了。——Claris过敏反应,变应原第一次进入体内后可造成机体的致敏状态,当这些物质再次进入体内后便发生过敏反应。激发患者免疫系统的异常活动,最终造成一系列过敏性伤害。过敏原?声音(voice)……噪音(noise)……形态……时间……字符串……位置……房间……场景……辅助药物?音乐:《绝体绝命》《遗忘山丘》《黑血症》《虚无...
2019-12-21 22:07:28 1780 2
原创 AGC035 简要题解
第二回凭自己本事把一整场AGC的题都补了。A - XOR Circle当场写了个很蛋疼的写法,总之注意到序列必须以 A,B,A⊕BA, B, A\oplus BA,B,A⊕B 为循环节就基本明白了。#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#...
2019-12-12 20:32:41 767 1
原创 AGC039 简要题解
头一回凭自己本事把一整场AGC的题都补了,补完发现有些题做法和官方做法不太一样,所以还是有些记录价值的。A - Connection and Disconnection显然总的来说每个长为 LLL 的连续段恰改掉 ⌊L2⌋\left\lfloor \frac L2 \right\rfloor⌊2L⌋ 个字符,为了计算这一总和再看看是否首位相等,整段相等。#include <cstdi...
2019-12-02 18:16:28 869
原创 BJ United Round #3 题解
三色树这道题的主要目的是普及无标号无根树的计数方法,故不讨论非多项式时间做法。其实 nnn 完全可以出得更大,但是没必要。这道题改自 ProjectEuler#677。思路要点首先考虑无标号有根树,我们只需维护 dp 数组 R(n),B(n),Y(n)R(n), B(n), Y(n)R(n),B(n),Y(n) 即可。通过更新 dp 数组 Q(d,n)Q(d, n)Q(d,n) 表示此时不...
2019-10-01 09:12:24 607
原创 BJ United Round #2 简要题解
序列转差分,左右来回构造一个回路。#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <ctime>#include <cctype>#include <algorithm>#include ...
2019-09-28 10:09:41 355
原创 区间增量最大子段和的 polylog 做法
本文首发与 UOJ先抛出目前得到的结果:区间给每个数加 x(x≥0)x (x \ge 0)x(x≥0),区间查询最大子段和,我们有一个 O(nlog3n+mlog4n+qlogn)\mathcal O(n\log^3 n + m\log^4 n + q\log n)O(nlog3n+mlog4n+qlogn) 的做法(不排除可能通过一些分析发现这个算法的复杂度实际上更低)。其中,nnn ...
2019-09-19 23:34:37 4925 1
原创 eJOI2019 简要题解
A. XORanges化简一下可得,区间长度为奇数答案才可能不为 000,此时答案就是 l,l+2,…,ul, l+2, \dots, ul,l+2,…,u 的异或和。奇偶分别维护一个树状数组即可。时间复杂度 Θ(n+qlogn)\Theta(n + q\log n)Θ(n+qlogn)#include <cstdio>#include <cstring>#inc...
2019-09-14 15:18:40 1578
原创 BJ United Round #1 题解
极地科考总负责人:EntropyIncreaser简要题意:一个数列每次修改一个数,询问长度不低于 kkk 的一段的最大平均值。这是一道思维难度和代码难度都较低的题目,也与一些经典模型密切相关,故设计在第一题的位置。算法一枚举所有可行的区间,通过 ab−xy=ay−bxby\frac ab - \frac xy = \frac{ay-bx}{by}ba−yx=byay−bx 的正负...
2019-09-09 18:00:23 647
原创 NOI2019 的碎片
(NOI2018, NOIP2018)抱着一些遗憾拿着银牌回来了。遇到了一些难受的事情。不明白自己为什么会被误解。我讨厌命运这个词。(NOIP2018, BJOI2019)NOIP考的一般,Day2 自己太硬了不愿意妥协,结果就没多拿部分分。WC由于一些 sb 的事情没报名上。不管怎么样还是做出自己的贡献吧。于是抱着这样的心情讲课。可是……这并不能阻止什么。又发生了一些事,和父母...
2019-07-24 21:43:37 4512 3
原创 APIO2019 简要题解
T1 奇怪装置易得周期为 B⋅Agcd(A,B+1)B \cdot \frac{A}{\gcd(A,B+1)}B⋅gcd(A,B+1)A,排序离散化即可。Θ(nlogn)\Theta(n\log n)Θ(nlogn)#include <cstdio>#include <algorithm>using namespace std;typedef long...
2019-07-03 12:29:25 748
原创 非常规整除分块初探——验题【XR-2】记忆
这题在原本 std 的复杂度是 Θ(r)\Theta(\sqrt r)Θ(r) 的,本人在验题过程中给出的算法复杂度为 Θ(r37)\Theta(r^{\frac 37})Θ(r73)。算是非常规整除分块的一点探索吧。思路要点考虑将两个数乘积为平方数当且仅当所含有的次数为奇数的素因子集合,因此这就构成了一个等价关系。等价类内的数显然应当挨在一起放,故得到:答案为区间长度减去出现的等价类数量...
2019-06-30 17:18:18 1422 1
原创 SNOI2019 简要题解
D1T1 字符串dp 出所有相邻两个位置的 lcp,然后即可优化 cmp。Θ(nlogn)\Theta(n\log n)Θ(nlogn)#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <ctime>#include ...
2019-06-19 17:04:17 1248
原创 脑洞:整体分块 + BSGS
Ran 让 EI 刷整体二分的题,并且丢给 EI 一道「ZJOI2013」K大数查询。但是 EI 并不想写整体二分。也不想写数据结构。于是一拍脑门,就有了这个奇怪的想法。大致思路:对于 ccc 先离散化,然后考虑一个类似 BSGS 的找答案的过程:将从大到小的 ccc 分成 M\sqrt MM 段,按顺序计算每个询问的区间中有多少个数落在第 iii 段内的颜色中。该过程发生 MMM 次修改和...
2019-06-13 16:07:27 908 1
原创 BJWC2018 简要题解
T1 Kakuro有界费用流,或者模拟 +inf 的普通费用流。#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <limits>#include <queue>#define LOG(FMT......
2019-05-24 00:02:12 951
原创 「COCI 2018.10.20」Teoretičar
分治下去即可,在这个过程中可以做到使两个集合的边数量尽量接近,注意到这个过程有 $T(m) = T(\alpha m) + T((1-\alpha) m) + \Theta(m)$ 且 $\alpha \in \left[\frac 13, \frac 23\right]$。复杂度为 $\Theta(m\log m)$。
2019-05-17 10:52:07 899 2
原创 「ZJOI2019」开关
考虑进行容斥。记 F(z)F(z)F(z) 是先假设一直按下去,nnn 次后恰好所有灯都达到状态的概率的指母函数,则有F(z)=∏i=1nepiz+(−1)sie−piz2F(z) = \prod_{i=1}^n \frac{\mathrm e^{p_iz} + (-1)^{s_i} \mathrm e^{-p_iz}}2F(z)=i=1∏n2epiz+(−1)sie−piz注意...
2019-04-27 12:50:23 2173 3
原创 LOJ154 集合划分计数
即要求计算一个集合幂级数在子集卷积意义下的exp≤kf=∑j=0kfkk!\exp_{\le k} f = \sum_{j=0}^k \frac{f^k}{k!}exp≤kf=j=0∑kk!fk
2019-04-25 09:37:34 1923 3
原创 BJOI2019 Day1 简要题解
T1 奥术神杖二分,AC 自动机。 Θ(ns∣σ∣loglogvϵ)\Theta \left(ns|\sigma|\log \frac{\log v}{\epsilon}\right)Θ(ns∣σ∣logϵlogv)#include <cstdio>#include <cstring>#include <cstdlib>#include <...
2019-04-22 12:22:04 613 1
原创 BJOI2019 Day2 简要题解
T1 arrange暴力。Θ(nms)\Theta(nms)Θ(nms)#include <cstdio>#include <cstring>#include <cstdlib>#include <ctime>#include <numeric>#include <functional>#include &l...
2019-04-21 17:04:53 518 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人