四校省选模拟一

回来学校后的第一轮考试,基本上全程都在奔着部分分。

 

D1T1:

  这个题首先想的原根,这样把未知数放到指数上就可以 bsgs 了。n是和数所以要先分解掉然后 crt 合并。然后复杂度做到单次$\sqrt p$就不会了。然而求原根还不会,用的`bsgs`求的,T飞。后面学了快速求原根。

  正解是直接把指数消掉(右面变成$M^{-C}$),那么问题就是求$C$在$\phi (N)$下的逆元。模数就是$(p-1)*(q-1)$,于是问题就是分解$N$。然后入手点是$\lambda=q-p \le 3e5$,考虑怎么能枚举出一个$p$。$N=p*(p+\lambda)$,解开$p$,换成枚举$t=\frac{\lambda}{2}$,于是$p=\sqrt{t^2+N}-t$,右面有$-t$就表明$t$还有一个下界的限制,尝试卡住下界,枚举$k^2=t^2+N,p=k+\sqrt{k^2-N}$,那么$k$从$\sqrt N$开始。$k$的基数是$1e9$,那么$k$往上枚举$+1$,原来的$t$的增量很大,那么$\lambda$的限制就只用枚举几十个$k$就可以了。

 

D2T1:

  一开始感觉很像决策单调性优化。打了表,貌似决策点是递增的,但是并不是单调性的转移,要想以此优化的话只能把本轮决策点$j$从上一轮的决策点$las$枚举到$i$,可能复杂度没有优化。

  基本的式子$f[i]=\min\limits_{j<i} \{ f[j]+cal(i,j) \} +m[i]$,其中$cal(i,j)=\lceil\frac{c[i]-c[j]}{Z}\rceil$,这里不用考虑中间经过的特殊点的贡献,因为会在那个特殊点统计到。然后这个$cal$的式子是可以展开的,$c[i]/Z-c[j]/Z-[ c[i]%Z \> c[j]%Z ]$,然后就把$i$,$j$分离了。至于$[ c[i]%Z \> c[j]%Z ]$,可以权值线段树维护,分两段转移。

 

D2T2:

  一开始感觉很像容斥,也打了下来。赛后没分,后来才发现有个地方还是没去掉重复($2*i$颗宝石各颜色数量都是偶数的计算,实际上就是题目根本所在)。

  这题$N$很大,$D$在$1e5$,从$D$考虑。那么需要转化一下题意,$M$对颜色相同,剩下的,最多可以有$min(D,N-2*M)$颗宝石是两两不同,也就是最多$min(D,N-2*M)$种颜色的宝石是奇数颗。这个需要容斥。设$f[i]$表示钦定$i$种颜色有奇数颗的方案(现在看来钦定$i$的意义和至少$i$的意义是不同的)。某种颜色有奇数个才有1的贡献,这个就是指数生成函数$H1=\frac{e^x-e^{-x}}{2}$的形式。相应的,没有限制的颜色的贡献表示为生成函数$H2=e^x$,那么$f[i]=\binom{D}{i} n\! [x^n](H1^i H2^{(D-i)})$。然后这里往下推,用二项式定理展开$H1$函数,最后$e$上面指数合成一项,那么$[x^n]$就可以直接得到了。由于$[x^n]$项其实是$\frac{x^n}{n!}$的系数,这里$n!$抵消掉分母。接着就是一个卷积式。得到$f$后,求出恰好$i$颜色的方案,$g[i]=\sum\limits_{j \geqslant i} \binom{j}{i} f[j]$,需要用二项式反演得到$g$。这个式子也是卷积式。

  这道题求多种颜色满足同一种限制的方案数,用生成函数表示一种颜色的贡献,多项式乘法得到$[x^n]$相当于“一共有$N$颗宝石”(也就是做了背包)。有了生成函数的“抽象表达”,就可以直接得到乘积结果的表达式子,就省去多项式乘法了。

 

D2T3:

  先从sub2的子任务开始想。只考虑单一点的变化,如果某一点从1变为0,那么之后询问的答案就一定包含了这段为1的时间,可以直接加到贡献里。那么只用维护当先点的状态,以及这一状态的开始时间,回答询问时先把之前出现的1时间段贡献加上,在加上剩下的至今的贡献。

  sub3的话,因为 toggle 之后变为联通不再断开了,也就是 因$i$点亮而开始联通的贡献 就不会再消失了。正向做这个过程,寻找每次点亮使哪些询问联通,记录时间,最后根据询问时间和联通时间得到答案。每次点亮$i$会把跨过$i$的并且左右端点在前驱0、后继0之间的询问,是一个矩形。然后考虑离线下来,扫描线处理询问。因为这里矩形不相交,所以直接拿set维护, lower_bound 就可以查询。

  正解差不多就是结合上面。仍然考虑 toggle 带来的影响,和sub3一样找到影响矩形。在$i$为1,后面到$j$为0,贡献$j-i$,把时间段的贡献拆到$i$,$j$上就是分别$+i$,$-j$。其实询问的约束还有时间,所以是三维限制。矩形加值差分之后变成单点加入,矩形查询,那么就成了三维偏序问题。

posted @ 2020-06-05 21:43  DuanYue  阅读(173)  评论(3编辑  收藏  举报