2020CCPC长春站部分题解

链接 

A

背包。

D

\dpi{150}a_n = c^{popcount(n)}

枚举固定的前缀,计算后缀不同个数1的贡献。

F

dsu on tree维护一个数组t[][][]。t[i][j][k]表示当前子树内a[u]=i且u的第j位是k的u的个数。

这个东西没办法直接维护的,但是对于j,你没必要知道i是什么,假如j的第k位是0,那么你需要知道第k位是1的i的个数即可。

因此把i直接拆成20位,就可以统计答案了。

K

不妨设a>b,打表后会发现(a-b) \mid a,这就可以直接O(nlogn)预处理出符合条件的二元组了。

但是还是不好直接做,不过如果打表技术再高超一点,会发现对于每个a,满足条件的b最多只有31个。

这样操作2就按秩合并,操作3就暴力修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值