算法题中的神技

算法题中的神技
4FGR神技
记录网上看到的,泛用性较强的解题神技,持续更新
前缀“乘”
往往前缀和,当用乘法表示加和时,是会很容易爆ll的,那么,我们可以通过 \(log\) 对数将乘法转换成加法,把之转化成真正的前缀“和“。尽管,我们无法得到精确的值,但用来作为条件判断已经足够了
前缀和求解转化为
$ ps[i] = ps[i-1]+log(nums[i])$
求 \([l,r]\) 的乘积小于 \(k\) 可表示为
\(ps[m]-ps[i-1]+10^{-10}<logk\)
double 类型只能保证 \(15\) 位有效数字是精确的。为了避免计算带来的误差,相减后要加上 \(10^{-10}\)(题目中的 double 数值整数部分的数字不超过 5 个) ,从而防止不等式两边数值相等却被判定为大于的情况。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果




![算法板子[updating]](/./images/2025-11-20/baka3.png)

![各题型题解[updating]](https://ooo.0x0.ooo/2025/05/25/OdQPQl.png?_r_=da728f1f-eef3-c164-9c54-942c4c9805a9)
