2025.4.13 闲话

歌:サイエンス - MIMI feat. 重音テトSV .

(一直也挺喜欢科学的,主要看最近 OI 圈这个有点火就推一下)

学习一下 irris 的 P11458 Solution开火

题:给你三个长度为 \(2^n\) 的序列 \(a,b,c\),要求每个

\[w_x=\sum_ya_y\cdot b_{x\lor y}\cdot c_{x\land y} \]

做法:

\[\begin{aligned}w_x&=\sum_ya_y\cdot b_{x\cup y}\cdot c_{x\cap y}\\&=\sum_ya_y\left(\sum_S[x\cup y=S]b_S\right)\left(\sum_S[x\cap y=S]c_S\right)\\&=\sum_ya_y\left(\sum_T[x\cup y\subseteq T]\sum_{S\supseteq T}(-1)^{|S|-|T|}b_S\right)\left(\sum_T[x\cap y\supseteq T]\sum_{S\subseteq T}(-1)^{|S|-|T|}c_S\right)\\&=\sum_{T_1,T_2\supseteq x}\left(\sum_{y\in T_1\cap T_2}a_y\right)\left(\sum_{S\supseteq T_1}(-1)^{|S|-|T_1|}b_S\right)\left(\sum_{S\subseteq T_2}(-1)^{|S|-|T_2|}c_S\right)\end{aligned} \]

通过一系列高维前缀和可以转为计算

\[\begin{aligned}w_x&=\sum_{S\supseteq x}\sum_{T\supseteq x}f_Sg_Th_{S\cap T}\\&=\sum_{S\supseteq x}\sum_{T\supseteq x}f_Sg_T\sum_U[S\cap T=U]h_U\\&=\sum_{S\supseteq x}\sum_{T\supseteq x}f_Sg_T\sum_{U}[S\cap T\supseteq U]\sum_{V\subseteq U}(-1)^{|V|-|U|}h_V\\&=\sum_{U\supseteq x}\left(\sum_{S\supseteq U}f_S\right)\left(\sum_{T\supseteq U}g_T\right)\left(\sum_{V\subseteq U}(-1)^{|V|-|U|}h_V\right)\end{aligned} \]

通过一系列高维前缀和即可 \(\Theta(n2^n)\) .

posted @ 2025-04-13 20:29  yspm  阅读(292)  评论(4)    收藏  举报
😅​