视频课 分治 题解乱写

链接:https://pan.baidu.com/s/1_EuxCxHVifOY1b4nV8YiaA 密码:tyuu

证明略。

其实主要是没听懂。记不住。

上午$6$道题,$2$道听懂$2$道听一半掉线$2$道一开始就掉线。。。心情复杂。。。

1,求长为$n$的回文数字串且满足奇数位和等于偶数位和的数量。$n \le 10^6$

$n$是偶数那么奇偶配对,直接就是$10^{\frac{n}{2}}$

$n$是$4k+1$的话,枚举中间的那一个数,其余数奇偶做差,$-x$改成$+x-9$的形式,然后组合容斥算。

$n$是$4k+3$的话再枚举一下两侧的两个数,合法方案数不多,复杂度是可以接受的。

2,给定三个$n$的排列,求三维偏序对数。$n \le 10^6$

维护集合$A,B,C$维护$a_i < a_j$的$(i,j)$对,$b,c$同理。

利用容斥原理,手动容一下$A \cap B \cap C$。把问题转化为单元素以及双元素交,加加减减。

简单的二维偏序直接树状数组搞掉。$6n \ log \ n$

3,$n$次操作,每次从$[1,k]$中等概率选数。$a_i$表示随机到$i$的次数,求$\prod\limits_{i=1}^{L} a_i^F \ mod \ 2003$的期望

$n,k \le 10^9,F \le 1000,L \times F \le 5 \times10^4$

$a_i=\sum\limits_{j=1}^{n} [b_j=i]$

然后是一堆看不懂的化式子。

先考虑$F=1$。乘法分配律。对应的就是$1,2,...,L$各选一次的方案数。

给定一个序列。设$x$为出现位置集合。

即求$\sum\limits_{x} \prod_{i=1} [b_{x_i} =i ]$

如果存在$i \noteq j,x_i = x_j$不可能发生。

否则$x$互不相同。有$L$个位置确定其余位置随意。每次概率为$\frac{1}{k}$。贡献为$\frac{1}{k^L}$

所以答案就是$\frac{n!}{L! \times k^L}$

如果$F>1$。类似的。还是取$[1,L]F$次。

这次大概可以把序列看成二维矩阵,所以求和多了一个$\prod$。

然后就听不懂了。等回放吧。

4,$q$次询问求$\sum\limits_{i=1}^{n} i^k \ mod \ m$。$n,m,k \le 10^{18},q \le 3000$。$m$最大质因子$\le 3 \times 10^5$

$CRT$。模数缩小至$3 \times 10^5$级别。(注意有指数。。)

然后把式子里的$i$对$p^e$取模。$p$指数大于$e$即无用,所以$i$分解为$ap+b$。枚举上届缩小。

还是那种对于每个$a$看$b$的循环是否完整。预处理前缀和啥的,细节不清楚。。。$\sum\limits_{i=1}^{p} i^x$。$O(p(log \ k+\ log \ n))$

完整的部分$\sum\limits_{i=0}^{a} i^x \sum\limits_{j=0}^{p-1} j^{k-x}$

$x$都是$log$级别的也是可以算的。

复杂度还有预处理斯特林。询问复杂度和总的都是$O(log^3 \ n)$的。

5,(JSOI2019T2改)$n$种颜色,每种$c_i$个。涂在序列上,贡献为序列连成环后极长段的长度积,求所有方案的和。$\sum c_i \le 10^5$

设$F_{i,j}$表示$i$个颜色连成$j$个段的贡献。不考虑相邻,很好算。

设$a$表示$i$有$a_i$段。

我们大概要求的是$\sum w_a \pord F_{a_i,c_i}$

其中$w$是把若干段拼在一起,同色不邻的方案数。

容斥,改为$b$表示有至多$i$个段。

然后就可以列一个长长长长长长的式子。大约是个可重排列,正负容斥再乘组合数。

$\sum\limits_{a} \sum\limits_{b} \frac{(\sum\limits b_i)!}{\prod b_i} \prod (-1)^{a_i -b_i} C_{b_i-1}^{a_i-1} F_{c_i,a_i}$

$dp$求出$a,b$转化啥的的排列。

如果环统计贡献时,我们要求环断开的位置前面是$1$后面不是$1$就可以转化为序列。

然后看里面有几个$1$段就会对应多少序列。

提出与$b$相关的项,枚举$a,b$它们是个减法卷积形式可以$FFT$。

$dp$是个背包问题,贡献相乘体积相加,分治$FFT$

还可以发现$F$里面是两次插板,是交替的所以可以合成一次。

总复杂度$O(m \ log^2 \ m)$

然而开头那里啥都没听懂,优化稍微能明白,没啥想法。。。回放吧。。。

6,(AGC 019 E Shuffle and Swap)两$0/1$序列$A,B$都恰好有$k$个$1$。设$a_i,b_i$表示两序列中$1$的位置。将$a,b$随机排列后交换$A_{a_i},A_{b_i}$。求两序列相等的概率。$n \le 10^5$

一共的方案是$a,b$的对应关系,以及触发交换的先后顺序。

建边。如果有出边$A_i=1$,如果有入边$B_i=1$。那么出入度数$\le 1$。那就是环或链。

环的话那就是里面的数字都是$1$。环内部随便换。交换顺序有$L!$种。概率为$1$

链的话$A_{p_1}=A_{p_2}=...=A_{p_{L-1}}=B_{p_2}=B_{p_3}=...=B_{p_L}=1$。所以交换顺序一定是从$L$换到$1$。只有$1$种方案概率是$\frac{1}{L!}$

现在问题是$a_i->b_i$的对应关系。设只有入度或只有出度的点都是$k$个。(与题目定义不同)

设都是$A_i=B_i=1$的点有$m$个(度数为2)。一共$2k+m$个点。组成了$k$条链。

$dp_{i,j}$表示$i$个链$j$个点的方案数,转移式子不难。$dp_{i,j} = \sum\limits_{k=0}^{j} \frac{dp_{i-1,k-j}}{(k+1)!}$

这样可以考虑到链中间的点的方案数,还要考虑两端点的配对,

枚举在链上的点数$ans=\sum\limits_{i=0}^{m} dp_{k,i} \times k!$

链上内部顺序也要乘。

再考虑环的方案$i!$,以及有序分配是个下降幂。乘起来恰好是个阶乘。

还有出发顺序的问题所以还要乘$(k+m)!$

复杂度瓶颈在$dp$。$O(n^3)$

然后$F_i$是$dp_i$的$OGF$。$G$是阶乘逆元的$OGF$。转移是点积。然后多项式快速幂。$O(n \ log \ n)$

猜你喜欢

转载自www.cnblogs.com/hzoi-DeepinC/p/12311014.html