洛谷 P1018 [NOIP 2000 提高组] 乘积最大 题目笔记 user5432393551771 2025-03-01 81 阅读1分钟 题目要求使用k个乘号,把一串数字分开,得到乘积最大。 这道题使用搜索可以通过大部分测试点,而两个高精度的会超限,简单写一下搜索的思路。 dfs中三个参数,分别为当前使用乘号数x,乘积ans,上一个乘号的位置last。 结束条件为x == k,在结束里乘上从last+1到n的最后一个数。 不结束的话遍历剩下的乘号位置,从last+1到n-k+x,并且dfs(x+1, ans * mul, i),意味着使用一个乘号,ans的值变为* mul的数, 上一个乘号的位置在i处。