AT杂题乱写


AtCoder Beginner Contest 263 F - Tournament(DP)

考虑 $ \text{DP} $ 。怎么设状态?

$ \color{orange}{从题目所给条件的角度思考} $ 。一个价值 $ C_{i,j} $ 表示第 $ i $ 个人赢了 $ j $ 场,那我们累加贡献的时候,得确定是谁赢了多少场。

为了清晰撕烤,我们把比赛的状态记作一个完全二叉树。

设 $ f_{i,j} $ 表示第 $ i $ 个人在该完全二叉树深度j的位置胜利(即赢了 $ n+1-j $ 场),该子树能获得的最大收益

总状态共有 $ n2^n $ 种。

考虑一下这样做的可行性。

这个位置必然是由它的左右子树递推而来。其中一个子树必然是它自己胜利,另一个子树则可以任选

那么我们在递推过程中处理出每个子树的最大价值就可以了。

idea留存:分配一种可行/所有可行的的胜败方案


AtCoder Beginner Contest 181 F - Silver Woods(二分答案,并查集)

二分该圆的直径。将所有距离 \(\leq\) 该直径的钉子两两连边,离墙壁距离 \(\leq\) 该直径的钉子向墙壁连边。

若两侧墙壁相连,则路径不通, \(check\)\(false\)


AtCoder Regular Contest 150 D - Removing Gacha(期望)

题解 By 人形魔芋

给定一棵树,初始全白。定义一个点为“好点”,当且仅当其到 \(1\) 的路径上所有点都为黑色。否则该点为“坏点”。

每次操作,均等概率地选取一个“坏点”并将其染成黑色。问将这棵树染成全黑的期望操作次数。

由期望的线性性,\(\color{orange}{考虑计算每个节点\ v\ 被染色的期望次数\ E(X_v)\ }\),答案即 \(\sum\limits_{i=1}^n E(X_i)\)

只考虑点 \(v\) 的话,点 \(v\) 到根节点路径链之外的点的选择与否将不会影响它的答案。这条链长度为 \(dep[v]\)

接下来就是一个非常令我匪夷所思,让我感觉我对期望理解非常有限的点(

可以当作“好点”也可以被选择,并且这样不会影响答案。

在假设对好点进行操作的同时,这条链的状态不会受到影响,并且坏点相对的被选择概率并没有产生变化。

然后就变成了随机染色全覆盖问题。我\(\color{white}{的猫}\)的做法是设 \(E_i\) 表示覆盖 \(i\) 个位置的期望步数,则

\[E_i=\frac{n-i}{n}E_{i-1}+\frac{i}{n}E_i+1 \]

移项化系数得:

\[E_i=E_{i-1}+\frac{n}{n-i} \]

\[E_n=n\sum\limits_{i-1}^n\frac{1}{i} \]

那么用均等思想也可以得出上面问题中\(E(X_v)=\sum\limits_{i=1}^{dep[v]}\frac{1}{i}\)


AtCoder Regular Contest 137 D - Prefix XORs(\(m\) 阶前缀和系数与 \(lucas\) 定理)

首先看看 \(m\) 阶前缀和系数。

各数系数间不会相影响。先考虑第一项的系数:

1  0  0  0  0  0  0
1  1  1  1  1  1  1
1  2  3  4  5  6  7
1  3  6 10 15 21 28
...

其实也就是,第 \(1\) 个数在 \(m\) 阶前缀和的第 \(n\) 个数的系数为 \(d_{n,m}=d_{n-1,m}+d_{n,m-1}\)

其实是个斜的杨辉三角。或者说,是 \((1,1)\)\((n,m)\) 的步数

\(d_{n,m}={n-1+m-1 \choose m-1}\)

对于第 \(i\) 个数,系数只是把上面这个东西平移了一下。于是就有:

\[s_{n,m}=\sum\limits_{i=1}^n{n-i+m-1 \choose m-1}a_i \]

再看 \(m\) 阶异或前缀和系数,也是一样的

\[s_{n,m}=\bigoplus\limits_{i=1}^n[{n-i+m-1 \choose m-1}\&1] \times a_i \]

然后就涉及判断组合数的奇偶性。也就是判断 \(\text{mod}\ 2\) 的结果

考虑 \(lucas\) 定理,判断$ {n\choose m}$ 的奇偶性

\({n\choose m}={n/2 \choose m/2}{n\%2 \choose m\%2}\)

考虑它的意义,是把 \(n\)\(m\) 拆解位,某一位 \(n\)\(0\)\(m\)\(1\) 的话答案就是 \(0\)

所以只需判断 \([n|m=n]\) 即可。另外\({n+m \choose m}\ \text{mod}\ 2=[n\&m=0]\)

这道题又怎么处理呢()

考虑 \(a_i\) 会对哪些 \(k\)\(s_{n,k}\) 产生影响。其实就是

\[n-i \& k-1=0 \]

这个 \(n-i\) 是固定的。这玩意也相当于 \(k-1\) 取反之后是 \(n-i\) 的子集

那把 \(n-i\) 的子集对应的答案全部异或上 \(a_i\) 即可。


AtCoder Beginner Contest 172 E - NEQ(二项式反演)

\(f_{i}\) 表示有至少 \(i\) 个位置满足 \(a_i=b_i\) 的方案数。是至少吗....?

好像并不是。原来我之前还有这等误解啊

二项式反演只是一种特殊的多步容斥?

容斥的形式一般是求并集吧..就像

\[g_{S}=\sum\limits_{T\in S}f_{T}\\f_{S}=\sum\limits_{T \in S}(-1)^{|S|-|T|}g_{T} \]

二项式反演则是 \(f_{S}=h_{|S|}\) 的特殊形式罢了?

\(f_{i}\) 表示钦定 \(i\) 个位置满足 \(a_i=b_i\) 的方案数,\(g_i\) 表示恰好 \(i\) 个位置满足的方案数。

\[f_i=C_m^i \times A_i^i \times C_n^i \times A_{m-i}^{n-i} \times A_{m-i}^{n-i}\\f_i=\sum\limits_{j=i}^nC_{j}^{i}g_j\\g_{i}=\sum\limits_{j=i}^n(-1)^{j-i}C_{j}^if_j\\g_{0}=\sum\limits_{k=0}^n(-1)^kf_k \]

应当是这样的..

posted @ 2022-08-12 22:22  Akuto_urusu  阅读(40)  评论(0)    收藏  举报