2019.7.8海亮暑假集训Day3考试总结

对于代码和题目详见百度网盘,这只讲思路。

T1,显然是一个dfs暴力就可以过,但是我的YES小写了

  沉默两秒..........

T2,这一道题我要好好讲讲(下面是我写的题解)

下面有四种情况

看懂了吗(看懂了!!),还是挺好理解的(可是考试时候还是推不出来啊)

T3,这一题我一开始想的是分块(因为下午要讲的是分块,所以我就没多想),后来正解竟然是倍增(说实话,我的倍增除了写了lca外,其他的一概不知),我们用f[i,j]表示从位置 i 开始,选择 2^j 条线段, Ri 最大的线段 Ri 最小是多少。显然所有
的 f[i,j]可以在 O(nlogn)的时间内计算出来

询问时我们从 x 开始,从大到小枚举 k,如果选择 2^k 条线段后没有超出区间的范围,那么答案加上 2^k,然后继续统计 f[x,k]+1~y 这段区间的答案。这样单次询问复杂度是 O(logn)的,询问的总复杂度是 O(Qlogn)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值