摘要: 题意:询问一个区间内要么只包含3,要么只包含8的数有多少个?解法:数位DP,可惜比赛的时候忘了怎么写了,随便写了个DP没有过,后来才调过了。正确解法是开设一个状态: f[i][0]表示剩下i+1位数中且暂时不含有3,8的满足要求的数的个数(i位数字可从全0取到全9,后同) f[i][1]表示剩下i+1位数中且暂时只含有3的满足要求的数的个数 f[i][2]表示剩下i+1位数中且暂时只含有8的满足要求的数的个数 f[i][3]表示剩下i+1位数中且已经含有3和8的满足要求的数的个数,该结果恒为零 标程的解法使用了位运算来计算状态,非常清爽。代码如下:#include <cst... 阅读全文
posted @ 2013-03-18 21:27 沐阳 阅读(638) 评论(0) 推荐(0) 编辑