摘要:
题意:询问一个区间内要么只包含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... 阅读全文