warehouse Solution

时间:2022-09-23
本文章向大家介绍warehouse Solution,主要内容包括题意简述、赛时做法、Solution、\(\therefore ans_{i}\)、咦,就算是这样,我还是不会求呃(挠头)、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题意简述

一个N个点的树\((N\leq1e5)\),对于每个节点\(i\),输出\(\sum_{i \neq j}(dis(i,j)\) \(xor\) \(m)\)\(m<16\)

赛时做法

开始搞了个树剖还想求求LCA啥的,但发现还不如n方的dfs优秀,主要是拿异或没办法了

Solution

面对奇怪的xor,我们应何去何从?

\(ans_{i}=\sum_{i \neq j}(dis(i,j)\) \(xor\) \(m)\)

\(\because m<16\)

\(\therefore ans_{i}\)

\(=\sum_{i \neq j}(\lfloor\frac{dis(i,j)}{16}\rfloor\times16+dis(i,j)\) \(mod\) \(16\) \(xor\) \(m)\)

\(=16\times\sum_{i\neq j}\lfloor\frac{dis(i,j)}{16}\rfloor+\sum_{i\neq j}(dis(i,j)\) \(mod\) \(16\) \(xor\) \(m)\)

\(=16\times\sum_{i\neq j}\lfloor\frac{dis(i,j)}{16}\rfloor+\sum_{k=0}^{15}\sum_{i\neq j,dis(i,j)mod16=k}k\) \(xor\) \(m\)

\(g_{i}=\sum_{i\neq j}\lfloor\frac{dis(i,j)}{16}\rfloor\)\(f(i,k)=\sum_{i\neq j,dis(i,j)mod16=k}1\)
\(ans_{i}=16\times g_{i}+\sum_{k=0}^{15}f(i,k)\times (k\) \(xor\) \(m)\)

于是,问题转化成了求\(g_{i}\)\(f(i,k)\)

咦,就算是这样,我还是不会求呃(挠头)

但是,容易发现,

\(a\) \(xor\) \(c+b\) \(xor\) \(c\neq (a+b)\) \(xor\) \(c\)

\(a\) \(mod\) \(c+b\) \(mod\) \(c=(a+b)\) \(mod\) \(c\)

原文地址:https://www.cnblogs.com/fususu654/p/16721746.html