这个深搜就是求res用 某个数组里的数以乘积形式表示的方案
void dfs(int res,int u,int ret){
if(ret+u-1>=ans){
return ;
}
if(res==1){
st=true;
ans=min(ret+u-1,ans);
return ;
}
for(int i=2;i<=87;i++){
if(res%f[i]==0)
dfs(res/f[i],u+1,ret+i);
}
}
上面是我的代码,属于是最朴素的暴力,但感觉肯定不会漏掉某个解。但是TLE了
但是题解里的枚举方式,枚举到一个可整除的因子就一次性用当前数全部除完。这种枚举方式就一定能搜索完整个解空间吗,还是这种枚举方式一定最优