题解【[ABC147F] Sum Difference】

题目链接

下为口胡题解:

入手方向推导:
直接考虑题目所给式子显然困难:

w(S)=iSAiiSAi

因为两个式子虽然相关但是都在变化,不妨转化为:

w(S)=2×iSAii=1nAi

这样只用求出有多少个不同的 iSAi

由于每个 Ai 加和一定可以表示为 aX+bD 的形式,不妨将 a 固定下来进行研究(即选取固定数量的 Ai,那么贡献固定数量的首项 X)。

a 确定,iSAi 显然可以取到 [aX+a(a1)2D,aX+a(2na1)2D] 之间的每一个数。

比如对于如下的 Ai 取三个:

X X+D X+2D X+3D X+4D X+5D

最小可以取到:X+(X+D)+(X+2D)=3X+3D,最多可以取到 (X+3D)+(X+4D)+(X+5D)=3X+12D,其中每一个 bD前的系数)不同的都能取到。

但是还有一种情况,即存在 k1X=k2D,那么在某些情况下,即便有两个 aX+bDa,b 系数均不相同,也能表示同一个值。

这种情况可以尽可能将刚才计算出的区间中的 X 尽可能替换为 D

最后在相同的 X 上区间并,并将不同 X 的答案累加起来即可。

方向总结:尽可能研究变化较少的东西,如果有多个会变,就转化为少量会变进行研究。

posted @   2017BeiJiang  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示