[BZOJ4005][JLOI2015]骗我呢(组合数学好题)

这是一道涉及组合数学和动态规划的题目,原问题转化为求解一个序列计数问题,其中状态转移方程为 f[i][j]=f[i][j−1]+f[i−1][j+1]。通过分析路径限制,将其转化为平面直角坐标系中的行走问题,最后计算越过上下边界的方案数。通过递归公式,实现了 O(n+m) 复杂度的解决方案。
摘要由CSDN通过智能技术生成

Address

Solution

  • 非常有意思,思路非常棒的题目
  • 发现一个很优秀的条件:对于 1 ≤ i ≤ n 1\le i\le n 1in 1 ≤ j ≤ m 1\le j\le m 1jm 满足 0 ≤ x i , j ≤ m 0\le x_{i,j}\le m 0xi,jm ,并且对于任意的 1 ≤ i ≤ n 1\le i\le n 1in 1 ≤ j &lt; m 1\le j&lt;m 1j<m 满足 x i , j &lt; x i , j + 1 x_{i,j}&lt;x_{i,j+1} xi,j<xi,j+1
  • 这个条件告诉我们:这个数组每行都是 [ 0 , m ] [0,m] [0,m] 内的数扔掉其中一个之后再按顺序排列的
  • m = 3 m=3 m=3 x i , j x_{i,j} xi,j 一行内的合法方案只有 4 4 4 种( 1 , 2 , 3 1,2,3 1,2,3 0 , 2 , 3 0,2,3 0,2,3 0 , 1 , 3 0,1,3 0,1,3 0 , 1 , 2 0,1,2 0,1,2
  • 于是我们把问题转化成了一个序列 a i ∈ [ 0 , m ] ( 1 ≤ i ≤ n ) a_i\in[0,m](1\le i\le n) ai[0,m](1in) 的计数(即 a i a_i ai 在第 i i i 行没有出现过)
  • 而对于 x i , j &lt; x i − 1 , j + 1 x_{i,j}&lt;x_{i-1,j+1} xi,j<xi1,j+1 的限制,分析一下可以发现,这等价于对于每个 1 &lt; i ≤ n 1&lt;i\le n 1<in 都有 a i ≥ a i − 1 − 1 a_i\ge a_{i-1}-1 aiai11
  • 可以假设 a 0 = 0 a_0=0 a0=0 ,那么上面的条件对于
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值