“蔚来杯“2022牛客暑期多校训练营7 A题: Floor Tiles in a Park

A题: Floor Tiles in a Park

原题链接:https://ac.nowcoder.com/acm/contest/33192/A

题目大意

给定大小为 W×H(1≤W,H≤109)W\times H(1\le W,H\le 10^9)W×H(1W,H109) 的矩形,求其恰好分割为 K(1≤k≤min(5,W×H))K(1\le k\le min(5,W\times H))K(1kmin(5,W×H)) 个长宽均为整数的子矩形的方案数。

题解

kkk 的范围很小,可以手玩枚举算出每种情况计算答案。

在手玩的过程中,我们可以发现答案由若干组合数构成,且组合数最复杂为 Cx4C_x^4Cx4 的形式。
因此,我们一定可以将答案展开为如下形式:
ans=∑i=04∑j=04ai×5+jWiHjans=\sum_{i=0}^4\sum_{j=0}^4a_{i\times 5+j}W^iH^jans=i=04j=04ai×5+jWiHj

不妨在本地对于每一个 k∈[1,5]k\in [1,5]k[1,5] 搜索出 H,W≤5H,W\le 5H,W5252525 种情况,作插值求出此时的系数 ai,ja_{i,j}ai,j 并打表。当读入 H,W,kH,W,kH,W,k 时代入求解即可。
搜索可以每次枚举填充一个空的子矩形,在 kkk 次填充后判断是否填满即可。
作插值可以用高斯消元解同余方程组,复杂度为 O(253)O(25^3)O(253)

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值