CF1830B

原题

翻译

感觉挺好的题,但说不定挺典的?

我一开始想到了值域分块的思路,但之后就一直想整除、余数组合之类的。学数论学的

首先很容易想到min(ai,aj)2n,于是我们考虑枚举小的那个数

我们直接枚举小的ai的值为k,通过k我们可以找到所有ai=k的位置

先考虑ai=aj=k的情况,我们枚举每个值为k的位置i,我们可以得到满足条件的bj=k2bi,因此我们只需要对前缀ai=k开一个桶,下标是bi的值即可

然后考虑ai=k<aj的情况,我们枚举所有值>k的位置。我们现在易知的信息显然有:kajbj,我们可以求出bi=k×ajbj,我们同样可以用桶的思路找到所有ai=k,bi=k×ajbj的个数

最终复杂度O(nn)

posted @   FOX_konata  阅读(28)  评论(0编辑  收藏  举报
相关博文:
·  CF1837F
·  CF1845D
·  CF1730
·  ABC282H
·  CF1988E
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示