[NOI 2001] 陨石的秘密 题解

题目传送门

思路

首先我们发现可以搜索,但是明显会TLE,因为组合数学的结果是以指数倍增长的,结果会很大,明显不行。
由于不要输出路径,那么考虑DP。
f i , j , k , d f_{i,j,k,d} fi,j,k,d为深度 d d d{} i i i对,[] j j j对,() k k k对的结果。
我们发现这样很难得出结果。
我们令 f i , j , k , d f_{i,j,k,d} fi,j,k,d为深度小于等于 d d d{} i i i对,[] j j j对,() k k k对的结果,貌似可以好一点得到结果。

我们利用{}[]()将字符串进行分割。令A B,那么就有三种情况:{A}B [A]B (A)B,当然A B也可能是空串。不难证明这种DP方式是不重不漏的。
DP式如下: f i , j , k , d = ∑ a = 0 i − 1 ∑ b = 0 j ∑ c = 0 k f a , b , c , d − 1 × f i − a − 1 , j − b , k − c , d   +   ∑ a = 0 j − 1 ∑ b = 0 k f i , j − 1 − a , k − b , d × f 0 , a , b , d − 1   +   ∑ a = 0 k − 1 f i , j , k − a − 1 , d × f 0 , 0 , a , d − 1 f_{i,j,k,d}=\sum^{i-1}_{a=0}\sum^{j}_{b=0}\sum^{k}_{c=0}f_{a,b,c,d-1}\times f_{i-a-1,j-b,k-c,d}\ +\ \sum^{j-1}_{a=0}\sum^{k}_{b=0}f_{i,j-1-a,k-b,d}\times f_{0,a,b,d-1}\ +\ \sum^{k-1}_{a=0}f_{i,j,k-a-1,d}\times f_{0,0,a,d-1} fi,j,k

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值