CF559C Gerald and Giant Chess

给定一个\(h \times w\) 大小的棋盘,其中有 \(n\) 个点为黑色。

每次只能向右或向下移动,求从 \((1,1)\) 不经过黑色点到达 \((h, w)\) 的方案数。

\(f(i)\) 表示到达第 \(i\) 个黑点的方案数,且在这之前都没有经过黑点。

考虑补集。求有多少种方案经过了至少一个黑点。

枚举第一个黑点 \(j\)。需要满足 \(x_j \le x_i,y_j \le y_i\)。那么:

\[f(i) = \dbinom{x_i+y_i-2}{x_i-1} - \sum_{x_j \le x_i, y_j \le y_i}f(j) \times \dbinom {x_i-x_j+y_i-y_j}{x_i-x_j} \]

强行加入第 \(n + 1\) 个黑点 \((h, w)\)。那么答案为 \(f(n+1)\)

事实上转移顺序不太好定。所以记忆化搜索!

https://codeforces.com/contest/559/submission/291158046

posted @ 2024-11-12 16:34  2huk  阅读(18)  评论(0)    收藏  举报
2048 Game
Score
0
Best
0