摘要:
tag:树形dp,组合计数 首先根据递归关系建出一个树,然后就变为了树上问题:对树染色,满足任意一个点到根的 \(num_r\le c_r,num_b\le c_b\),求所有染色方案的 \(num_rnum_b^2\)。 于是想到一个 dp,设 \(f[i][j][k]\),表示点 \(i\) 的 阅读全文
摘要:
tag:线段树,概率期望,矩阵乘法 \[ E'(x)=pE(ax+b)+(1-p)E(x) \] \[ E'(x^2)=pE((ax+b)^2)+(1-p)E(x^2) \] \[ E'(x)=(1-p+pa)E(x)+pb \] \[ E'(x^2)=(1-p+pa^2)E(x^2)+2pabE( 阅读全文
摘要:
tag:组合计数,推柿子,莫队 第一问很简单,等价于合法的操作序列个数。 \[ ans=\binom{n+m}n\frac1{2^{n+m}} \] 第二问要推柿子。 问了2个人加上题解一共4个不一样的柿子(虽然都是等价的 sol 1 \(4\) 倍常数,自然就挂成了 \(70\)。 假设 \(n\ 阅读全文
摘要:
tag:虚树,树剖,点分治,BIT 先不管修改操作,这个 \(\sum k\le 3e5\),很虚树。 然后统计合法路径数,很点分。 所以就虚树上点分治了,注意虚树上一条边有两个权值 \(dis,len\)。 这部分复杂度 \(O(nlogn+nlog^2n)\)。 然后考虑路径加操作,随便维护一下 阅读全文
摘要:
tag:wqs二分 这个 \(k\) 长得一脸wqs二分的样子,实际上确实也是wqs二分。 如果给每个物品都加上一个 \(dlt\),那么 \(dlt\) 越大,选的数就越多。 所以就二分这个 \(dlt\) 了。 然后 dp 可以 \(O(n)\) 解决。 \(f[i]+a_i\to f[i+m] 阅读全文
摘要:
tag:近似 小数据暴力。 大数据直接比较不好比较,可以 \(\ln\) 一下再比较,就变为求和了。 然后有一个神奇的东西叫斯特林公式。。。(真猜对了/fad) \[ \ln (x!)= x\ln x-x+0.5\ln(2\pi x) \] #include<bits/stdc++.h> using 阅读全文
摘要:
tag:fwt,多项式快速幂 这是一道看上去很难的题。 但是你仔细分析一下就会发现,\(c_i\) 没用。。 因为有个 \(\mu\) 的存在,所以只需 \(2^k\) 枚举所有情况计算。 然后问题在于如何快速计算。 对于 \(f^a(x)\),由于 \(x\) 一定可以表示为 \(p_1\time 阅读全文
摘要:
tag:SAM,矩阵乘法,分治 首先我们要知道一个 trick,如何把两个 SAM 拼起来。 大概就是对于第一个 SAM 上的所有点,如果某个字符 \(c\) 没有出边,就连向第二个 SAM 的根结点的 \(c\) 出边指向的点。 这样最后会构造出来一个自动机,每一条路径都对应着一个题目中要求的字符 阅读全文
摘要:
tag:SAM,矩阵乘法,分块 首先我们要知道一个 trick,如何把两个 SAM 拼起来。 大概就是对于第一个 SAM 上的所有点,如果某个字符 \(c\) 没有出边,就连向第二个 SAM 的根结点的 \(c\) 出边指向的点。 这样最后会构造出来一个自动机,每一条路径都对应着一个题目中要求的字符 阅读全文
摘要:
tag:组合计数 显然出题人直接把两个问题直接拼了起来。。 可以枚举放了 \(i\) 个 \(2\),则有 \(n-2i\) 个 \(1\),且序列长度为 \(n-i\)。 然后第二问只与 \(len\) 有关,原问题是先涂色再选点,实际上可以先选点再涂色。选出来的点一定是黑白交错,而且对应唯一的一 阅读全文