P1001 A+B Problem 题解

本文介绍了如何通过旋转卡壳优化算法解决A+B问题,并结合线段树的高效数据结构。同时揭示了利用叉积判断简化绝对值计算的巧妙方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传送至题目

直接上小代码:

源代码点这儿

其实这题还可以这样理解:

A+B=(A÷x(A,B)+B÷x(A,b))×x(A,B) (x指最大公约数)

所以100+的线段树就出现了。

源代码点这儿

---------------------------------------华丽的分割线--------------------------------------------------

再介绍一种比较快的解决A+B问题的方法

旋转卡壳。
 

但是,这样计算出来的值其实为abs(a+b),然而这与实际要计算的值不同。

可以发现,当结果为负数时,b点一定(也只能)在a点的右边,所以自然只要用叉积判断一下即可,十分di简单。

源代码点这儿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值