5.30杂题选讲

前三题为水题,后面两题更有意思。

然而代码全都咕咕咕了,也许以后会补。

Hdu1520 Anniversary party

简单树形DP。

Hdu6386 Age of Moyu

简单最短路。

bzoj3679 数字之积

简单数位DP。

CF Gym 101482G Gathering

首先对于每个点,可行的区域显然是个矩形,那么可以先对这些矩形求交,得到合法区域。

如果不考虑限制,那么最优点显然是\(x,y\)的中位数。

考虑限制之后,只要定下\(x\),那么最优的\(y\)也是确定的。

而且,可以证明,这一定是一个凹函数,可以三分。

那么就做完了。

T5

链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4211

首先发现一件事:一个点的权值就是原点走到它的方案数。

换句话说,就是\(\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>0}w_i\frac{1-p^i}{1-p}=\frac{1}{p-1}(x-\sum_{i} w_i ) \]
也就是只与\(x\)\(x\)的数位和有关(记数位和为\(f(x)\))。

那么一个点的权值不含有\(p\),当且仅当\(f(\sum x)=\sum f(x)\),也就是所有\(x\)加起来没有进位。

那么就可以数位DP了:把所有\(n\)维放在一起DP,记录当前到第几位、之前哪些维顶到了上界。

每次做一位时相当于做个背包,但似乎转移时需要差分以降低复杂度。

最后需要容斥一下搞掉下界,也许也可以把是否顶到下界压进状态里。

并不知道复杂度是多少qwq

upd:似乎可以把下界压进状态里,而且这样就由\(4^n\)变为了\(3^n\)。(如果有同时顶到上下界的可能就单独计算?)

转载于:https://www.cnblogs.com/p-b-p-b/p/10963550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值