【省选模拟】20/04/23(最优化专场)

  • A:每个 r r r 维护与每个 l l l g c d gcd gcd,会分成 log ⁡ A i \log A_i logAi 段,暴力维护即可

  • B:考虑 R m i n , R m a x , B m i n , B m a x R_{min},R_{max},B_{min},B_{max} Rmin,Rmax,Bmin,Bmax 和全局 m i n , m a x min,max min,max 的关系,分为 R m i n = m i n , R m a x = m a x R_{min}=min,R_{max}=max Rmin=min,Rmax=max R m i n = m i n , B m a x = m a x R_{min}=min,B_{max}=max Rmin=min,Bmax=max 讨论,前一种情况要最小化 B m a x − B m i n B_{max}-B_{min} BmaxBmin,这个可以抽象成一个 2 n 2n 2n 的序列,每个点有两个颜色,选一段至少包涵 n n n 种颜色,那么可以双指针扫,后一种情况要最小化 B m i n ∗ R m a x − m a x ∗ B m i n − m i n ∗ R m a x B_{min}*R_{max}-max*B_{min}-min*R_{max} BminRmaxmaxBminminRmax,考虑枚举 B m i n B_{min} Bmin,那么要最小化 R m a x R_{max} Rmax,这个等价于从开头开始扫,有 n n n 种颜色就停下来,考虑 B m i n B_{min} Bmin 只会占据一种颜色,那么特判一下即可,同时需要满足 B m i n B_{min} Bmin 向后有 n n n 种颜色,预处理一下限制即可

  • C:考虑维护 d p i , j dp_{i,j} dpi,j 表示当前在 i , j i,j i,j 的最小步数,存在两种转移
    d p n x t , i = m i n ( d p i , j + ∣ j − n x t ∣ ) d p n x t , j = d p i , j + ∣ i − n x t ∣ dp_{nxt,i}=min(dp_{i,j}+|j-nxt|)\\ dp_{nxt,j}=dp_{i,j}+|i-nxt| dpnxt,i=min(dpi,j+jnxt)dpnxt,j=dpi,j+inxt
    全局加,单点改,求 m i n min min 把绝对值拆开线段树维护即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FSYo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值