这类题一般都是暴力,但不同的题暴力的方法又不太一样
一.直接枚举所有指定的数(通常这些数的个数不多,常常是幂级别的)
题目链接:Problem - 1560D - Codeforces
题目大意:给你两种操作:1.删去某一数位的数字。2.在数的最右边加上一个数字。你可以重复这两个操作无限次,现在给你个整数n,要求你求出使用这个操作使得n变成的最小操作数.
思路:时间复杂度,因为,故我们只需枚举到,一个个匹配求最小操作次数,设匹配的位数为k,长度为m,则最小操作次数为.
去最小即可。
二.枚举某个数的最后几位(这类数比较特殊,比如:20,2,25,50.......)
题目链接:Problem - 1593B - Codeforces
题目大意:给你一个操作:删去某一个数位的数字,你可以使用这个操作无限次,现在给你一个整数n,要求你求出使用这个操作使得n变成的最小操作次数.
思路:时间复杂度,这类题的n很特殊,满足题意的n的充要条件是k*n在10的倍数形成循环,比如:2,20,25,50......,枚举几个尾数出现的情况求他们的最小操作数.