f:dp:使用dp[0][i]表示长度为i的子序列小于t中的前i个字的数量,dp[1][i]表示长度为i的子序列中等于t的前i个字符的数量,dp[2][i]表示长度为i的子序列中大于t的前i个字符的数量。
同时用cnt表示已经大于t整体的数量
那么对于dp[0][m-1]和dp[1][m-1]加上本次的一个任意数之后就可以大于t,所以应在dp数组转移之前进行计算,而dp[2][m-1]则是已经大于t的数,则应在dp转移之后马上加上,同时因为这个子序列本身已经统计到cnt里了,所以应在每次将dp[2][m-1]清零(防止重复派生新序列)。
nkdx5
最新推荐文章于 2023-06-27 11:59:56 发布