Processing math: 100%

LOJ#6374 网格

题解:

挺好的一道题

两次容斥+一次二项式反演

首先考虑部分分不存在k的限制

然后我们发现两维之间是互相独立的

下面以x轴为例

然后问题就变成了

Ri=1xi=k(xi<=Mx)

这个东西是个经典问题,容斥做就可以了

h(R)=Ri=0(1)iCiRp(i)

p(x)=CR1Tx(Mx+1)x+R1

但是这样还不对,因为走(0,0)是不合法的

所以我们求出来的h(R)是至多走了R步的方案数

g(x)表示正好走了x(0,0)的方案数

h(R)=Ri=0CiRg(i)

由这个可以二项式反演得出g(R)

g(R)=Ri=0(1)RiCiRh(i)

这个复杂度是O(RMIN(R,Tx/Mx))

现在加入了k个不能走的限制

显然我们需要继续容斥

因为都是g的倍数所以可以/g后进行

dp[i][j]表示选出i个和为j的方案数

ans=ni=0(1)i100j=0dp[i][j]CiRcalc(TxjG,Ri)

时间复杂度的话

注意到因为g>=1e4,所以Mx也要>=1e4

那么复杂度就是O(50(1e6/1e4)(1e6/1e4)1e3)

并且这个很显然是不满的

posted @   尹吴潇  阅读(195)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2017-12-28 BZOJP1899ZJOI2004
2017-12-28 bzoj1833: [ZJOI2010]count 数字计数
2017-12-28 数位dp
点击右上角即可分享
微信分享提示