用户工具

站点工具


2020-2021:teams:alchemist:2020_nowcoder_multiuniversity_2

这是本文档旧的修订版!


简况

比赛链接

AC 6题,Rank 39th

总结与反思

cmx

主要还是思维问题,EG两题一直在xsy卡题的时候思考,还是没有想出来。另外以后看一道题要把内容共享给队友,节省看题时间

lpy

xsy

题解

A. XXXX

… by cmx

补题

G. Greater And Greater

好题,可惜没想出来。被数据范围迷惑,以为是分块问题,一开始还傻傻写了个超时方法。赛后看题解发现是bitset,才惊觉为什么一直没往这方面思考。

考虑bitset,对每个Ai求一个长度为m的bitset $S_i$,$S_i[j]=1$当且仅当$A_i\ge B_j$,这样我们发现只要通过下面的式子,就可以求出每个$cur_i$,$cur_i[j]$表示,A从i开始的一段和B从j开始到结尾,都是不小于的。

$$cur_i=(cur_{i+1}>>1|I_m)&S_i$$

其中I_m是一个只有第m位为1的bitset。这样我们对于每个$cur_i$,求出$cur_i[0]$的和即可。

注意,这里有n个bitset,想要求出这些$S_i$效率似乎有问题,实际上,最多只有$m+1$种不同的bitset。我们排好序,可以求出这几种bitset,以及有哪些i是属于这个bitset。

因此效率为$O(nm/64)$

by cmx

2020-2021/teams/alchemist/2020_nowcoder_multiuniversity_2.1594995162.txt.gz · 最后更改: 2020/07/17 22:12 由 maxdumbledore