码迷,mamicode.com
首页 > 其他好文 > 详细

HPC2020

时间:2020-07-07 23:21:28      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:构造   选择   排序   ali   isp   mes   lin   扩展   枚举   

D

看错了一下题目意思,特别说一下:任意两个商店间只需要花\(1\)个单位的时间即可前往

若我们确定要前往的商店的集合\(S\),对于\(\forall i,j\in S\),若\(i\)\(j\)前面,则满足:

\[1+a_{i}\times(t+1)+b_{i}+1+a_{j}\times(t+1+a_{i}\times(t+1)+b_{i}+1)+b_{j} \leq1+a_{j}\times(t+1)+b_{j}+1+a_{i}\times(t+1+a_{j}\times(t+1)+b_{j}+1)+b_{i}\Leftrightarrow \frac{a_{j}}{b_{j}+1} \geq \frac{a_{i}}{b_{i}+1} \]

我们发现这跟时间\(t\)没什么关系,那么排序,即顺序已经确定好了
对于\(a_i\neq 0\)的集合,其对于时间来说是指数变化的,最多只能选择\(30\)

E

将原矩阵扩展成\(2^n\)\(2^m\)列,第\(0\)行第\(0\)列均为\(0\)
\(b_{i,j}\)为前缀和

考虑计算答案上界,枚举\(0\le i<j<2^n\),即上边界为\(i+1\)下边界为\(j\),令\(c_k=b_{j,k}\mathrm{xor}b_{i,k}\)
其能对答案的贡献为\((\sum\limits_{p=0}^{2^m-1} [c_p = 0]) \times (\sum\limits_{p=0}^{2^m-1} [c_p = 1]) \leq \frac{2^{2m}}{4}\)
故答案的上界为\(\frac{2^n(2^n-1)}{2} \times \frac{2^{2m}}{4}\)

给出构造\(b_{i,j} = \mathrm{popcount}(i\ \mathrm{and}\ j) \bmod 2\),下面证明其能达到上界

先考虑\(n=m\)的情况,此时上界为\(\frac{8^n(2^n-1)}{8}\)
枚举左上角\((i+1,k+1)\)右下角\((j,l)\),其贡献为\(b_{i,k} \ \mathrm{xor}\ b_{i,l}\ \mathrm{xor}\ b_{j,k}\ \mathrm{xor}\ b_{j,l}\)
由于在模\(2\)意义下,\(\mathrm{popcount}(x)\mathrm{xor}\mathrm{popcount}(y)=\mathrm{popcount}(x\mathrm{xor}y)\)
则贡献为:\(\mathrm{popcount}((i\ \mathrm{and}\ k)\ \mathrm{xor}\ (i\ \mathrm{and}\ l)\ \mathrm{xor}\ (j\ \mathrm{and}\ k)\ \mathrm{xor}\ (j\ \mathrm{and}\ l)) \bmod 2\)

\(i=j\)\(k=l\)时贡献显然为\(0\),忽略\(i<j,k<l\)的限制,最终答案除\(4\)即可
单独考虑某一位,\(i,j,k,l=0/1\),当\(\{i,j\}=\{0,1\},\{k,l\}=\{0,1\}\)时有贡献\(1\)
即有贡献的个数为\(4\),无贡献的个数为\(12\)

枚举有多少位有贡献:

\[ans = \sum\limits_{i=0}^n [2 \nmid i] \binom{n}{i} 4^i 12^{n-i} \]

单位根反演可得\([2 \nmid i]=\frac{1-(-1)^i}{2}\)

\[\begin{align*} ans &= \sum\limits_{i=0}^n \frac{1-(-1)^i}{2} \binom{n}{i} 4^i 12^{n-i} \\ &= \frac{\sum\limits_{i=0}^n\binom{n}{i} 4^i12^{n-i} - \sum\limits_{i=0}^n\binom{n}{i} (-4)^i12^{n-i}}{2} \\ &= \frac{16^n-8^n}{2} \\ &= \frac{8^n(2^n-1)}{2} \end{align*} \]

除以\(4\)\(\frac{8^n(2^n-1)}{8}\)

再考虑\(n\neq m\),令\(n<m\),此时\(k,l\)还有\(m-n\)位未填,此时不管其怎么填,都不会改变\(\mathrm{popcount}\)的值
\(\frac{8^n(2^n-1)}{8}\times 4^{m-n} = \frac{2^n(2^n-1)}{2} \times \frac{2^{2m}}{4}\)

F

若不考虑\(H(V,E‘)\)的直径等于\(G(V,E)\)的直径,合法的H满足

  • H的直径只有一条
  • 选取H中任意一点,bfs,得到dep,若\(|dep_{u}-dep_v|\le 1\),则\(u,v\in E‘\)

从而我们发现,钦定\(x\)后,仅得到H的dep数组,即可还原H

那么考虑进G

  • 钦定了H的直径
  • \(E\subseteq E‘\):若\((u,v)\in E\),则\(|dep_u-dep_v|\le 1\)

令G直径为\(L\),下面考虑\(L\)是偶数
那么直径的中点\(x\)确定,令其为根。
但特殊的,令\(dep_x=0\)\((u,v)\in E\),对应的dep数组满足\(dep_u-dep_v\in\{-1,0,1\}\),对于\(\forall i,dep_{i}\in[-\frac{L}{2},\frac{L}{2}]\)。那么我们可以发现对于一个H,其被统计了两次,最后答案除以\(2\)即可

具体的方法就是,我们可以找到所有的关键点(即距离\(x\)\(\frac{L}{2}\))的点,然后对于\((u,v)\in E\),枚举\(dep_u-dep_v\),对关键点进行转移

\(L\)是奇数,则直径中点是一条边,对两棵子树分别做即可

HPC2020

标签:构造   选择   排序   ali   isp   mes   lin   扩展   枚举   

原文地址:https://www.cnblogs.com/Grice/p/13257510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!