每日一题:数数组

题目

构造一个长度为 $n$ 的序列,每个数字大小必须满足 $l <= a[i] <= r$,且和被 3 整除,问有多少种方法?

Solution

阅读更多

每日一题:不同子序列个数(升级版)

题意

给定一个长度为 $n$ 的数组,求长度为 $n-m$ 的不同子序列个数。($1<=n<=1e5, m<=10$)

Solution

$dp[i][j]$ 表示长度为 $i$,删除 $j$ 个元素的子序列个数,不考虑重复的话,有 $dp[i][j] = dp[i-1][j] + dp[i-1][j-1]$(即已经删除了 $j$ 个和已经删除了 $j-1$ 个再删除这一个的情况)。

阅读更多

每日一题:子序列

题意

给定一个由n个元素组成的序列 { a1, a2, a3,…, an } ,她想知道其中有多少个子序列 { ap1, ap2, …, apm } $(1 ≤ m ≤ n, 1 ≤ p1 < p2 ,…, < pm ≤ n)$,满足对于所有的 $i, j$ $(1 ≤ i < j ≤ m)$, apipj < apjpi成立。

Solution1

py + dp直接冲。

阅读更多

每日一题:不同子序列个数

题意

给定一个长度为 $n$ 的字符串,求不同的子序列个数。

Solution

很经典的一道计数dp。我们用 $dp[i]$ 表示以前 $i$ 个字符中的不同子序列个数:

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×