题目链接:https://codeforces.com/problemset/problem/2/B
意思就是求出一条路线,所有数的乘积的值末尾0的个数最少
只能往右走或者往下走
2 * 5才有0
统计所有路线的2的最小值和5的最小值,总得最优解就是min(f2[n][n], f5[n][n]);
可以质因数分解2和5的个数
简单DP求解
判断是从上面更新还是从左边更新
f2[i][j] = min(f2[i - 1][j], f2[i][j - 1]) + s;
f5[i][j] = min(f5[i - 1][j], f5[i][j - 1] + t;
注意边界就好了
还有注意如果有0的话,最小值可能为1,需要判断是否取1,有可能为0
并且如果选择经过0的路线的时候,正常DP选择的路线不一定经过0,需要特殊判断
记录路线可以记录每一个点是由哪个更新的,存的由哪个更新的点的坐标
没其他坑了
代码无