5.30杂题选讲
Posted p-b-p-b
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.30杂题选讲相关的知识,希望对你有一定的参考价值。
前三题为水题,后面两题更有意思。
然而代码全都咕咕咕了,也许以后会补。
Hdu1520 Anniversary party
简单树形DP。
Hdu6386 Age of Moyu
简单最短路。
bzoj3679 数字之积
简单数位DP。
CF Gym 101482G Gathering
首先对于每个点,可行的区域显然是个矩形,那么可以先对这些矩形求交,得到合法区域。
如果不考虑限制,那么最优点显然是\(x,y\)的中位数。
考虑限制之后,只要定下\(x\),那么最优的\(y\)也是确定的。
而且,可以证明,这一定是一个凹函数,可以三分。
那么就做完了。
T5
首先发现一件事:一个点的权值就是原点走到它的方案数。
换句话说,就是\(\frac(\sum x)!\prod x!\)。
考虑\(x!\)中\(p\)的个数,有一个这样的式子:
\[
ans=\sum_i>0 \lfloor x/p^i\rfloor
\]
考虑把\(x\)在\(p\)进制下拆开为\(x=\sum_i w_i\times p^i\),那么有
\[
ans=\sum_i>0 w_i\sum_k=1^i p^k-1=\sum_i>0w_i\frac1-p^i1-p=\frac1p-1(x-\sum_i w_i )
\]
也就是只与\(x\)和\(x\)的数位和有关(记数位和为\(f(x)\))。
那么一个点的权值不含有\(p\),当且仅当\(f(\sum x)=\sum f(x)\),也就是所有\(x\)加起来没有进位。
那么就可以数位DP了:把所有\(n\)维放在一起DP,记录当前到第几位、之前哪些维顶到了上界。
每次做一位时相当于做个背包,但似乎转移时需要差分以降低复杂度。
最后需要容斥一下搞掉下界,也许也可以把是否顶到下界压进状态里。
并不知道复杂度是多少qwq
以上是关于5.30杂题选讲的主要内容,如果未能解决你的问题,请参考以下文章