摘要: 题意:找出n的最小倍数,要求这个倍数十进制由1和2组成。看了discuss才知道确实可以用DP来做:令res[i][j]表示前i位对n取余为j是否可以得到。res[i][(10%n*j+1)%n]=res[i-1][j];res[i][(10%n*j+2)%n]=res[i-1][j];用到(a * b) % n=(a % n * b % n) % n;假如我们知道res[i][j]按照上面的公式顺着推很容易得到res[i+1][(10%n*j+1)%n]和res[i+1][(10%n*j+2)%n]的值,但是逆着推就不容易了。不管怎么说还是和01背包一个性质的。但是,提交后MLE,由于找路径 阅读全文
posted @ 2012-05-19 21:30 书山有路,学海无涯 阅读(316) 评论(0) 推荐(0) 编辑