题意:问你在所有包含666的数中,第n大的是多少.(1 ≤ n ≤ 50,000,000) .开头几个是666, 1666, 2666, 3666, 4666, 5666… 题解: 这题可以用AC自动机,不知道这个怎么做.. 用了数位DP. 第一道自己好好调出来的数位DP..哭泣 (一)先用DP预处理出含有666的k位数一共有多少个,不含有666的k位数一共有多少个.只用求一边就可以,另一边用总数来减. 然后for一遍,判断出第n大的是多少位数. //d[0][i] 第一位不是6的i位数不含66…