2022.3.17学习记录

我觉得还是要坚持每天写学习记录!

包括之前没写的也要补一补

毕竟我是个很容易遗忘的孩子,写一写之后看的时候比较容易记起来

今天主要就打了一道题(?)

就是 CF187D BRT Contract

模拟赛T1

自己没想到的点主要是:

①可以用前缀和直接维护,避免偏移来偏移去。本质上而言,是简化信息的存储量,对其进行统一。

②动态开点权值线段树。这道题可以化归为权值区间上查询最早出现位置的问题。

要注意的就是,周期相关问题,实际就是取模取模取模

但要分类讨论。比如说,[sum[i] + g, sum[i] + z - 1](z为周期),视sum[i]的取值范围不同,有三种情况:

{0} <=> [g, z - 1]

[1, z - g - 1] <=> [0, sum[i]] ∪ [sum[i] + g, z - 1]

[z - g, z - 1] <=> [sum[i] + g - z, sum[i] - 1]

另外就是动态开点这种东西空间一定要开够。

潦草地说,只要开不死,就往死离开。

谨慎一点的话,注意log是针对权值而言的:即logW而非logN

这道题而言,g + r <= 2e9(注意是和) log一下就是31

跑一次会有2logW个点,乘上n就是 62 * n

但是不知道为什么64倍n过不了??开到160倍才过

明福大人还没回我,呜呜呜

总结一下,这道题也还是很典型的——a.考察信息重复利用、简化信息的能力 b.动态开点权值线段树空间开够 c.周期分类讨论的严谨性(数学好好学,qwq)

另,今天模拟赛230 / 300,并列第五。还是比较开心的。

(虽然都是在打暴力)(逃)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值