JZOJ 6873. 【2020.11.19提高组模拟】飞翔的鸟(矩阵乘法)

该博客主要探讨了JZOJ 6873题目的解题思路,涉及利用矩阵乘法来解决飞翔的鸟问题。作者指出,通过设立0/1状态表示障碍物并分析不同状态之间的转移,可以构建3x3的转移矩阵,并进行n-2次矩阵乘法。尽管初始方法存在较大的常数,但通过优化矩阵乘法中的转移,可以提高算法效率。
摘要由CSDN通过智能技术生成

JZOJ 6873. 【2020.11.19提高组模拟】飞翔的鸟

题解

  • n , k n,k n,k的数据范围看起来就知道要用矩乘,但障碍的位置是不确定的。
  • 如果暴力枚举 n − 2 n-2 n2次障碍的位置,分别计算每种情况障碍左右两边的方案数,再左右相乘起来,每种情况相加求平均数,可以通过部分的数据。
  • 这样显然过不了,考虑能否一次做完?
  • 其实可以每个位置设两个状态 0 / 1 0/1 0/1分别表示是否经过障碍,然后分三种情况, 0 0 0转移到 0 0 0 1 1 1转移到 1 1 1 0 0 0转移到 1 1 1
  • 其中前两种可以直接按题意从 x x x转移到 x − 1 , x , x + 1 x-1,x,x+1 x1,x,x+1,而第三种要从障碍左边那列转移到障碍右边,枚举左边 x − 1 , x , x + 1 x-1,x,x+1 x1,<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值