专栏文章

P1641 题解

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minpznfo
此快照首次捕获于
2025/12/02 06:27
3 个月前
此快照最后确认于
2025/12/02 06:27
3 个月前
查看原文
一道很好的利用转化思想的题 主要难点是如何转化题意用卡特兰数思想求解 以及建系后转化求解
首先我们会想到一个简单的dp 然后发现这个dp很像一个网格上的求解 由于有0和1的限制 所以可以很自然想到卡特兰数 这是第一次转化。
首先第一反应按纵轴为0的个数,横轴为1的个数建系,然后不可以超过对角线...这是一个很明显的方法 (我没有想出第一篇题解的优秀建系方法...)
但是我们发现了其与普通卡特兰数的求解方法不同的一点 网格大小是 nmn*m 的 该怎么办呢
不妨回忆普通方法 肯定有共性 所以我们考虑容斥
显然总方案数 C(n+m,n)C(n+m,n) 我们需要找到非法路径的数量 非法路径满足什么呢? 一定是0的数量大于1的数量。表示在图上也就是路径上有节点满足 y>xy>x 时。由于路径每次移动1单位,所以第一次违反约束的时候,路径会接触 y=x+1y=x+1 非法路径一定至少一次经过经过 y=x+1y = x + 1
经过一次以后 我们就可以随便选了 至于是不是反复进出 我们只需要累加这些情况即可
容易发现我们可以将y=x+1y = x + 1 上一点P前面的路径对于y=x+1y = x + 1 对称翻折,那么如果其想到达(n,m)必须经过y=x+1y = x + 1 ,这是第二次转化 (0,0)翻折后为(-1,1),容易发现此时非法方案数为从(-1,1)到(n,m)的方案数c(n+m,m-1) 所以答案为C(n+m,m) - C(n+m,m-1)

评论

0 条评论,欢迎与作者交流。

正在加载评论...