【2020省选模拟】题解

T1:

显然主席树傻逼题

不过 s t d std std强行卡空间
胡的一个 O ( n ) O(n) O(n)空间似乎是假的
主席树强行用一些东西卡空间
对于叶子不需要左右儿子

剩下鬼畜东西没看懂


u p d a t e d : updated: updated
有靠谱的 O ( n n ) 时 间 O ( n ) O(n\sqrt n)时间O(n) O(nn )O(n)空间做法了

考虑对序列分块
考虑将修改变成差分数列
那么每个点会修改两个位置
那么每一块会被修改 O ( n ) O(\sqrt n) O(n )
维护每个时间块内前缀最大和块内和

考虑询问
对修改操作序列分块
n \sqrt n n 个位置维护一下所有块的最后修改时间
然后递推一下散块位置即可

T2:

考虑判断一个线段 ( a , b ) (a,b) (a,b)和一个圆 O O O的关系
可以做 a a a O O O的切线
然后判是否在夹角

为了减去一些边界考虑
可以定一个基准向量
然后将所有表示成与基准相量的夹角在 ( l , r ) (l,r) (l,r)之间
由于一个点切线夹角小于 π \pi π
表示在 [ − π , π ] [-\pi,\pi] [π,π]之间即可

code

T3:

由于没想到可以有非法情况
直接写的挂了

考虑将大小关系连边后缩点
显然次数是点数
先把相等的忽略
考虑一种枚举被算的次数除以 n ! n! n!
对应出来就是拓扑序个数 / n ! /n! /n!

code

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值