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(1≤W,H≤109) 的矩形,求其恰好分割为 K(1≤k≤min(5,W×H))K(1\le k\le min(5,W\times H))K(1≤k≤min(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=0∑4j=0∑4ai×5+jWiHj
不妨在本地对于每一个 k∈[1,5]k\in [1,5]k∈[1,5] 搜索出 H,W≤5H,W\le 5H,W≤5 的 252525 种情况,作插值求出此时的系数 ai,ja_{i,j}ai,j 并打表。当读入 H,W,kH,W,kH,W,k 时代入求解即可。
搜索可以每次枚举填充一个空的子矩形,在 kkk 次填充后判断是否填满即可。
作插值可以用高斯消元解同余方程组,复杂度为 O(253)O(25^3)O(253)

最低0.47元/天 解锁文章





