内测的时候感觉E比D稍微简单一点 这个D出的挺好的 D 萌萌的好数 这题因为n的范围是1e12,直接暴力会超时,所以需要优化复杂度 二分一下 再容斥一下 有一点数学 判断这个数是第几个好数就把不是好数的数去掉,就是减去 [能被3整除的数的个数]——>x/3 再加上 [个位是3的个数]——>x/10+(x%10>=3) 如果个位大于等于3 就多一个 [0,x/10] 再减去 [即是3的倍数而且个位是3的数]——>((x/3)/10+((x/3)%10>=1)) 那又要是3的倍数而且个位是3的个数 可以考虑 多少乘3的个位是3 就是枚举[1,x/3]中个位是1的...