![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 66
h_tour
这个作者很懒,什么都没留下…
展开
-
CF 5C.Longest Regular Bracket Sequence 栈 + DP
题目链接 题意: 给一个只包含′(′、′)′'('、')'′(′、′)′左右括号的字符串,询问最长的合法括号序列的长度和出现次数。 题解: 设dp[i]dp[i]dp[i]表示以位置为iii的右括号结尾的最长合法括号子序列的长度,状态转移方程可以得出是:dp[i]=dp[cur−1]+i−cur+1dp[i] = dp[cur - 1]+i-cur+1dp[i]=dp[cur−1]+i−cur+1,其中,curcurcur表示位置为iii的右括号所对应的左括号的位置,这个可以使用栈记录,也就是对应的栈顶元素原创 2021-08-08 21:36:43 · 140 阅读 · 0 评论 -
ABC207 E. Mod i DP前缀和优化
题目链接 题解: 让sum[i]sum[i]sum[i]表示前iii个数的和,dp[i][j]dp[i][j]dp[i][j]表示将前iii个数分成jjj段的可行方案数。 接下来,找状态转移方程: dp[i][j]+=dp[k][j−1]dp[i][j]+=dp[k][j -1]dp[i][j]+=dp[k][j−1],其中满足(sum[i]−sum[k])%j==0(sum[i] - sum[k]) \% j == 0(sum[i]−sum[k])%j==0。 这样直接枚举,可以发现时间复杂度是O(n3原创 2021-06-28 16:53:28 · 167 阅读 · 0 评论 -
HDU 6880 Permutation Counting 计数DP
题目链接 题意: 给我们长度是n−1n-1n−1的bbb数组。其中bib_ibi满足: 其中aaa数组是1 n1~n1 n的排列,让我们求有多少种nnn的排列对应得bbb数组是题目所给得数组。 题解: 这是个计数DPDPDP问题。 我们这里定义dp[i][j]dp[i][j]dp[i][j]表示前iii个数的排列,第iii个位置放的数是第jjj小的方案数。 那么如果b[i−1]=0b[i-1]=0b[i−1]=0,也就是a[i]>a[i−1]a[i]>a[i-1]a[i]原创 2021-04-17 16:45:52 · 94 阅读 · 0 评论