2024牛客暑期多校训练营8 补题 E|J|D|G

E-Haitang and Math_2024牛客暑期多校训练营8 (nowcoder.com)

E题其实都可以想到朴素的对于 [ n − 108 , n ] [n-108,n] [n108,n] 这个区间每个数去暴力分解因子,然后判断因子是否成立。

但是如果这样写复杂度将会是 O ( T × 108 × n × l o g n ) O(T\times 108 \times \sqrt n \times logn) O(T×108×n ×logn) 显然不合法。那么我们想如何去优化呢。

对于枚举因子,其实我们很经常会分解出质因子,然后去质因子去暴力枚举选取的可能。

就可以把复杂度从原本的 O ( n ) → O ( n l o g n + d ( n ) ) O(\sqrt n) \rightarrow O(\frac{\sqrt n}{logn} + d(n)) O(n )O(lognn +d(n)) , d ( n ) d(n) d(n) 表示因子函数。该量级差不多为 l o g n logn logn

然后如果带回去会发现现在变成 O ( T × 108 × ( n l o g n + d ( n ) × l o g n ) ) O(T\times 108 \times( \frac{\sqrt n}{logn} + d(n) \times logn)) O(T×108×(lognn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值