计算一个序列有多少个不同的01子序列

Posted 强势围观

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算一个序列有多少个不同的01子序列相关的知识,希望对你有一定的参考价值。

每个01子序列要么以0结尾,要么以1结尾。

不如我们令这个0,1为序列中最后一个0,和最后一个1.这可以令转移唯一化。

dp[i][1]代表以前i个字符中最后一个1为结尾的不同子序列的个数,dp[i][0]代表以前i个字符中最后一个1为结尾的不同子序列的个数

则有若s[i]=1,则更新最后一个1的位置,dp[i][1]=dp[i-1][1]+dp[i-1][0]+1

而最后一个零位置保持不变。dp[i][0]=dp[i-1][0].

当s[i]=0时同理

以上是关于计算一个序列有多少个不同的01子序列的主要内容,如果未能解决你的问题,请参考以下文章

Codeforcecs1183H Subsequence(hard version) 求字符串本质不同子序列个数

P2766 [网络流24题]最长不下降子序列问题

求连续序列的最大子序列和

[网络流24题] 最长递增子序列

网络流24题最长递增子序列

网络流24题最长递增子序列