首页 > 其他分享 >08.02

08.02

时间:2024-08-04 09:18:34浏览次数:12  
标签:08.02 容斥 最小值 枚举 FWT prod dp

QOJ8047 DFS Order 4

先考虑如何判断一个一个 \(p\) 的合法性。

如果 \(p_{i-1}<p_i\),把 \(p_i\) 挂到 \(p_{i-1}\) 下方;否则在 \(p_{i-1}\) 的祖先集合中取一个点 \(u\) 满足 \(u<p_i\) 且 \(u\) 最深,把 \(p_i\) 挂到 \(u\) 父亲下面。

现在连出来的树,不仅儿子递增,而且对于第 \(i\) 个儿子 \(u_i\) 的最后一个儿子 \(v_i\),\(v_i < u_{i+1}\)。

做一些容斥使得限制变成外向树(森林?)。然后记录 \(\prod 1/siz_i\) 转移。

?

\(\sum [p_i>p_{i+1}]\):用二项式反演进行钦定。

每一段递减序列,一定恰一个前缀满足 \(p_i>i\),一个后缀不满足。

从后往前按连续递减段 dp,同时枚举 \(p_i=i\) 的断点,用容斥来处理本质上位于一个 \([x, n]\) 区间的点。

一个矩形内的点可以不按有序算,因为只有一种方案,除去长度的阶乘就行了。

\(d_{i, x, y, a}\):\(x\) 个 \([p_i>i]\),钦了 \(y\) 个位置,后面估计要记一些与容斥相关的东西,不是很会。

agc039F

考虑每行最小值 \(a_i\) 和每列最小值 \(b_i\),从小到大枚举 \(t\),如果有 \(x\) 行 \(y\) 列的最小值为 \(t\),对答案的贡献为 \(t^{xn+yn-xy}\)。

为了保证恰好,转而容斥 \([\geq x] - [\geq x+1]\)。假设容斥了一共 \(t\) 行,容斥系数就是 \((-1)^t\)。

那么进行 dp。\(f_{i, j, t}\):已经填了 \(i\) 行 \(j\) 列,填完了所有 \(\leq t\) 的数值,当前的值乘上容斥系数的和。

转移时分步进行即可做到 \(O(n^4)\)。

QOJ5089

考虑 \([x^0][y^i] F(x, y) = \prod(1+x^{\{u_i, v_i\}}y)\),其中 \(x\) 这一维的乘法是集合对称差操作,\(y\) 这一维是加法卷积。

对 \(x\) 这一维进行 FWT,求 \([x^0]F = \frac{1}{2^n} \sum_S [x^S] FWT(F)\),又有 \([x^S]FWT(F) = \prod [x^S] (1+x^{\{u_i, v_i\}}y)\),每一项恰好是一个 \(1-y\) 或一个 \(1+y\),取决于 \(u_i,v_i\) 中位于 \(S\) 集合的点的个数。这是可以 \(O(2^n)\) 预处理的。枚举有多少个 \(S\) 共有 \(a\) 个 \(1+y\),即可得到 \([x^0]F\)。做状压 dp 好像就行,每次加入新点时算一下贡献变化。

uoj390

标签:08.02,容斥,最小值,枚举,FWT,prod,dp
From: https://www.cnblogs.com/purplevine/p/18341459

相关文章

  • 【闲话】08.02.24
    0802闲话头图:今日推歌:《レディメイドfeat.Ado》すりぃ123で弾け飛んだ一、二、三绽破而飞固定観念バットで打って固定概念用球棒击碎どうだい?どうだい?如何如何楽ならまっいっか觉得快乐的话就无所谓啦我还是现充的时候就喜欢上这首歌了,,,看到自己去年说......