首页 > 其他分享 >APIO2023 讲课落实

APIO2023 讲课落实

时间:2023-05-23 12:12:44浏览次数:48  
标签:cdot dfrac 讲课 落实 2i APIO2023 式子 sum 2k

字符串

咕咕咕

字符串

咕咕咕

母函数和动态规划相关运用

\(\text{CF755G}\)

洛谷云剪贴板界面

考虑设计一个动态规划。

设 \(f_{i,j}\) 表示考虑完了前 \(i\) 个球,目前分了 \(j\) 组的方案数。

有转移如下。

\[f_{i,j}=f_{i-1,j}+f_{i-1,j-1}+f_{i-2,j-1} \]

设 \(F_i(x)=\sum_{p=0}^{\inf} f_{i,p} \cdot x^p\)。

那么有如下式子。

\[F_i(x)=F_{i-1}(x) \cdot (x+1)+F_{i-2}(x)\cdot x \]

我们再来考虑一点东西。

考虑倍增,有转移式子如下。

\[f_{2i,j}=\sum_{p=0}^j f_{i,p}\cdot f_{i,j-p}+\sum_{p=0}^{j-1}f_{i-1,p}\cdot f_{i-1,j-p-1} \]

那么有如下式子。

\[F_{2i}(x)=F_i^2(x)+F_{i-1}^2(x) \cdot x\\ F_{2i-1}(x)=F_i(x) F_{i-1}(x)+F_{i-1}(x)F_{i-2}(x) \cdot x\\ F_{2i-2}(x)=F_{i-1}^2(x)+F_{i-2}^2(x) \cdot x \]

由此,我们可以发现,我们只需要在倍增的时候维护 \(F_{2i}(x),F_{2i-1}(x),F_{2i-2}(x)\) 即可。

那么我们现在相当于初始有一个数字 \(1\),然后我们需要支持 \(+1\) 和 $ \times 2$,不难发现上述两个式子分别可以做到。

这意味着我们可以在 \(O(\log n)\) 次 NTT 就可以得到 \(F_n(x)\)。

时间复杂度为 \(O(k \log k \log n)\)。

\(\text{CF1821F}\)

洛谷云剪贴板界面

考虑设计动态规划转移方程。

设 \(f_{i,j}\) 表示在最后一个合法位置在 \(i\) 时,已经用了 \(j\) 棵树的方案。

有转移如下。

\[f_{i,j}=\sum_{x=0}^{i-2k-1} f_{x,j-1} + 2\sum_{x=i-2k}^{i-k-1} f_{x,j-1} \]

有边界 \(f_{0,0}=1\),由此已经可以得到一个 \(O(nk)\) 的解法了,但是不够优秀,考虑怎么优化这个算法。

不妨设 \(F_i(x)=\sum _{p=0}^{\inf} f_{p,i} \cdot x^p\)。

将上面的转移式子写成多项式的形式。

\[F_j(x)=F_{j-1}(x)\cdot \sum_{i=2k+1}^n x^i + 2F_{j-1}(x)+\sum_{i=k+1}^{2k} x^i\\ F_j(x)=F_{j-1}(x) \left( \sum_{i=2k+1}^n x^i + 2\sum _{i=k+1}^{2k} x^i\right) \]

不妨设 \(G(x)=\sum_{i=2k+1}^n x^i + 2\sum _{i=k+1}^{2k} x^i\),则 \(F_j(x)=F_{j-1}(x)G(x)\)。

据此,我们可以得到一个 \(O(n \log n/n \log^2 n)\) 的多项式快速幂做法,但是实际上仍然可以优化。

我们对于 \(G(x)\) 稍作修改,\(G(x)=\sum_{i=2k+1}^{\color{red}\inf} x^i + 2\sum _{i=k+1}^{2k} x^i\),显然这样不影响答案。

写出 \(G\) 的生成函数。

\[G(x)=\dfrac{x^{2k+1}}{1-x}+\dfrac{2x^{k+1}-2x^{2k+1}}{1-x} \\ =\dfrac{2x^{k+1}-x^{2k+1}}{1-x} \\ =x^{k+1}\dfrac{2-x^k}{1-x} \]

考虑答案就是 \(\sum _{i=0}^n f_{i,m}\),考虑 \(f_{n,m}\) 怎么求解。

那么就是 \([x^n]G^m(x)=[x^n]\left(x^{k+1}\dfrac{2-x^k}{1-x}\right)^m\)。

\[[x^n]\left(x^{k+1}\dfrac{2-x^k}{1-x}\right)^m\\ =[x^{n-m(k+1)}] \left( \dfrac{2-x^k}{1-x}\right)^m\\ =[x^{n-m(k+1)}] (2-x^k)^m (1-x)^{-m} \]

对于两个多项式相乘,求某一项系数可以做到线性。

至于求解 \(\sum _{i=0}^n f_{i,m}\),只要推一下就发现还是一个式子可以解决的。

至此,本题在 \(O(n)\) 的时间复杂度内解决。

咕咕咕

杂题选讲

咕咕咕

杂题选讲

咕咕咕

标签:cdot,dfrac,讲课,落实,2i,APIO2023,式子,sum,2k
From: https://www.cnblogs.com/OccasionalDreamer/p/17423100.html

相关文章

  • APIO2023 游记
    Day-1上午去华山饭店,报到,领纪念品。下午看了APIO2022T1的题解,看了一些APIO2022游记,然后就开始摆gen。Day0上午csy、xtq讲字符串,基本子串结构好评。下午讲写解释器,不准备去听了,在房间里摆gen。下去吃晚饭,队伍排到牡丹厅了,难蚌。预感比赛waiting时间会比较抽象。......
  • APIO2023 线下又寄
    前情提要:因为\(\text{CSP-S}\)没挂分所以是线下\(\text{Day0}\)下午三点多到的,从高铁站到华山饭店路上跟一中、学军的一路,本来华二和我们差不多一起到的,但不知道为啥他们先走了,不过在车上都不敢跟\(\text{qiuly}\)他们讲话,实在太社恐了/ll然后就是报道,报完道,开幕式也没啥......
  • APIO2023游记
    没报名APIO。Day\(1\)是5.20。Day\(-2\)今天上午怎么有模拟赛。大为震撼。不过徐老师和我们说这场我们可以鸽掉。于是就鸽子了。就看了眼T2,会了。听zak说这是不归之人与望眼欲穿的人们。应徐教练要求,上午我讲课,大概讲了一下【数据删除】,还拿了松松松的【数据删除】做......
  • APIO2023 游记
    5.18报到。排队时面到了DitaMirika神仙/se/se和_•́へ•́╬_住一个房间。不过他应该不认识我。晚上_•́へ•́╬_和群友出去玩了。而我和asdfz的另外几位神仙打了一晚上牌。5.19上午讲字符串。这是我能听懂的东西吗。电脑保养得不好,现在续航不到1h,所以也没带......
  • APIO2023 游记
    算法竞赛打APIO,就像,只能度过一个相对失败的人生。比赛打的不错。吃的很好。玩的也很开心。谢谢CCF。谢谢。我不怕天黑也不要来回让风吹动身上这山山水水最后这一回最后这一回最后这一回也没有任何因为......
  • APIO2023游记
    其实本可以不用来的。自然是没有什么人关心的,也自然是没有什么人看的。但还是想写。2023.05.19早上八点十分的飞机,五点半的起床。暗黑的天空中飘着不大的雨花,不由生出几分寒意。路上司机在放以父之名和夜的第七章,我凝视着窗外,默默地复习着压根听不清也念不出的歌词,恍惚间回到了......
  • 讲课:拓扑排序、最短路算法
    什么是图?把图在计算机中表示(储存)拓扑排序度与一个顶点v关联的边的条数称作该顶点的度(degree)在有向图G=(V,E)中,以一个顶点v为起点的边的条数称为该顶点的出度(out-degree),以一个顶点v为终点的边的条数称为该节点的入度(in-degree)思路首先记录各......
  • $\text{RSY}$ 讲课记录
    P3260[JLOI2014]镜面通道首先猜结论:如果空气联通的话那么光路就可以穿过。然后直接转对偶图求最小割即可。特别注意一下如何判断圆和矩形相交。看矩形的四个角是否在......
  • zxy 讲课记录
    概率期望GYM104114C.COVID这题考察的是一个条件概率。这里记下最基本的式子:\[P(A|B)=\frac{P(AB)}{P(B)}\]然后再回来考虑这一道题,我们要计算的包含两个部分:所有......
  • Django学习笔记记录(整理了B站武老师的讲课课件,供大家学习)
    day1、初识DjangoPython知识点:函数、面向对象。前端开发:HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库。Python的Web框架:Flask,自身短小精悍+第三方组......