摘要:
hdu 2089 不要62题意:给出两个数,求区间内不带4和62的数的个数。(PS:62是连续的两位)思路:dp[i][0]表示前i位不含不吉利数的个数(如i=4,则范围为0~9999,下同)dp[i][1]表示前i位不含不吉利数且首位是2的数的个数dp[i][2]表示前i位含不吉利数的数的个数。则有dp[i][0] = dp[i-1][0] * 9 - dp[i-1][1]dp[i][1] = dp[i-1][0]dp[i][2] = dp[i-1][2] * 10 + dp[i-1][0] + dp[i-1][1]预处理得到dp数组然后从高往低逐位求答案。例子,如数5678按0~49995 阅读全文
摘要:
题意:在一些括号中找到一个序列,里面的括号都两两配对。求序列最长长度。dp[i][j]为i~j的最大括号数,考虑第i个括号,有两种情况:①不管i直接算dp[i][j] = dp[i + 1][j];★②枚举i+1~j,找到和i匹配的右括号,有dp[i][j] = max(dp[i][j],dp[i + 1][k - 1] + 2 + dp[k + 1][j])。递归写法:1#include2#include3#defineN10545intdp[N][N],len,vis[N][N];6chars[N];78intmax2(intx,inty)9{10returnx>y?x:y;11}1 阅读全文