这个题还有一个很好写的卡空间做法,还在想的别点进来
查看原帖
这个题还有一个很好写的卡空间做法,还在想的别点进来
131591
蒟蒻君HJT泽渡透香楼主2022/2/25 16:08

首先你发现你在dp的过程中实际上每一位要拆成四份贡献,设当前状态为sta,现在在放的是i,那么你需要知道1,i到sta,2,sta到i,3,i到sta的补集,4,sta的补集到i的信号传递数量,开四个肯定不行,而所以我们开两个。

注意到1和3可以互相算,2和4可以互相算,只需要知道从i传出的和传入的有多少就行了,预处理一下。和题解一样的是,把预处理的i这一位扔掉。但这样还是爆空间了,怎么办呢?

我们用unsigned short类型保存预处理数组,dp数组还是用int。注意这不是拼rp,因为同一对两个不同基站相互传递的次数不可能超过0.5n,正好在unsigned short范围之内,可以通过本题,而且非常好写。

想看代码可以私信我。

2022/2/25 16:08
加载中...