ACL Beginner Contest F(Heights and Pairs)题解——分治NTT

Description

一个序列有 2 n 2n 2n个数,现在你要在这个序列中配得 n n n个无序数对,使得每一对的两个数不同且每个数都在恰好 1 1 1个对中。

请求出合法配对的方案数。注意 ( 1 , 3 ) ( 2 , 4 ) (1,3)(2,4) (1,3)(2,4)与 ( 2 , 4 ) ( 1 , 3 ) (2,4)(1,3) (2,4)(1,3)这两种配对方式是等价的。

请将答案对 998244353 998244353 998244353取模

n ≤ 50000 , a i ≤ 1 0 5 n≤50000,a_i≤10^5 n≤50000,ai​≤105

Solution

考虑 d p dp dp。

如果按照整个序列去进行 d p dp dp的话很难设计出合理的状态,所以考虑开桶 d p dp dp,并令 v i v_i vi​表示第 i i i个桶的大小。根据题意,每一个桶中的数不能进行匹配,不难得到状态设计与状态转移:

d p i , j dp_{i,j} dpi,j​表示看到第 i i i个桶(即已经处理了 1 1 1至 i i i号桶),还剩 j j j个未匹配的方案数

状态转移如下:
d p i , j = ∑ k = 0 v i   C v i k   A j − ( v i − k ) k k   d p i − 1 , j − ( v i − k ) k dp_{i,j}=\sum_{k=0}^{v_i}\ C_{v_i}^k\ A_{j-(v_i-k) k}^k\ dp_{i-1,j-(v_i-k) k} dpi,j​=∑k=0vi​​ Cvi​k​ Aj−(vi​−k) kk​ dpi−1,j−(vi​−k) k​

解释一下这个状态转移。 k k k枚举的是在 i i i这个桶内与前面匹配掉的数的数量。 C v i k C_{v_i}^k Cvi​k​表示在第 i i i个桶中选择 k k k个与前面进行匹配。由于看到第 i i i个桶还剩 j j j个数未匹配,第 i i i个桶本身对“未匹配的量”的贡献是 v i − k v_i-k vi​−k,并且前面还要多留 k k k个数与第 i i i个桶选中的数进行匹配,所以之前未匹配的数的数量应该是 j − ( v i − k ) k j-(v_i-k) k j−(vi​−k) k。在这个里面选 k k k个数与第 i i i个桶中选定的 k k k进行匹配的方案数为 A j − ( v i − k ) k k A_{j-(v_i-k) k}^k Aj−(vi​−k) kk​。

每次暴力转移的时间复杂度是 O ( n 3 ) O(n^3) O(n3)的,严重超时。我们先尝试将它优化到 O ( n 2 ) O(n^2) O(n2)或类 O ( n 2 ) O(n^2) O(n2)。

我们拆开状态转移式中的括号并观察:

d p i , j = ∑ k = 0 v i   C v i k   A j − ( v i − k ) k   d p i − 1 , j − ( v i − k ) k dp_{i,j}=\sum_{k=0}^{v_i}\ C_{v_i}^k\ A_{j-(v_i-k) k}\ dp_{i-1,j-(v_i-k) k} dpi,j​=∑k=0vi​​ Cvi​k​ Aj−(vi​−k) k​ dpi−1,j−(vi​−k) k​

d p i , j = ∑ k = 0 v i   C v i k   A j − v i 2 k   d p i − 1 , j − v i 2 k dp_{i,j}=\sum_{k=0}^{v_i}\ C_{v_i}^k\ A_{j-v_i 2k}\ dp_{i-1,j-v_i 2k} dpi,j​=∑k=0vi​​ Cvi​k​ Aj−vi​ 2k​ dpi−1,j−vi​ 2k​

考虑将 d p i − 1 dp_{i-1} dpi−1​翻转,就得到了一个卷积的形式。每次跑一遍 N T T NTT NTT,时间复杂度优化到 O ( n 2 log ⁡ n ) O(n^2 \log n) O(n2logn)。

但是我们依然不满意。不难发现这个状态转移可以用cdq分治来优化,即分治NTT。每次我们递归左半边,跑一遍NTT处理左半边对右半边的贡献再往后边递归。由于递归的深度最大是 log ⁡ n \log n logn的,所以卷积的次数为 n log ⁡ n n \log n nlogn次,总时间复杂度为 O ( n log ⁡ 2 n ) O(n \log^2 n) O(nlog2n)。

NTT txdy!

Summary

在本题中,我们巧妙设计了 d p dp dp状态,发现翻转后是一个卷积的形式,从而采用分治NTT将时间复杂度优化到了 O ( n 2 log ⁡ n ) O(n^2 \log n) O(n2logn)。

可以说这是一道比较套路的题,唯一较为灵活的就是 d p dp dp的状态设计以及状态转移。分治NTT出来得比较自然,可惜蒟蒻(我)在想这题的时候并不会分治NTT,是在看了别人的题解之后才悟懂。

感觉这题放在ABC的F题是不是太过分了啊???

来源:https://www.icode9.com/content-4-806751.html

(0)

相关推荐

  • dpi与dp的关系

    http://www.woshipm.com/pmd/176328.html 各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt: point,点,印刷行业常用单位, ...

  • AJ兽片!看了一遍又一遍!

    AJ兽片!看了一遍又一遍!

  • 搭载18架美英F

    美海军陆战队F-35B隐身短垂战机5月2日停泊在英国"伊丽莎白女王"号航母上.(美国海军陆战队网站) 参考消息网5月7日报道 美国军事网站5月2日发表题为<英国航母搭载着美国 ...

  • 隐形冠军是F

    隐形冠军是F-117颇令人意外,在一般人的印象里,它速度慢.机动性差,连雷达都没有,还很不光彩的被击落了一架,成为对手脚下的战利品,但这些都是它追求极致隐身付出的代价. B-2之所以能在翼展达52.4 ...

  • 2021黄浦、崇明二模25题解法分析(构造X/A基本图形)

    2021黄浦.崇明二模25题主要围绕着构造A/X型,构建两组比例关系,从而助力问题解决.这类问题中往往隐含着"燕尾模型",通过合理添加辅助线,构造基本图形,借助线段间的比例关系(一 ...

  • 母亲节特刊F版||十六字令《娘》六首 作者:高宝勤

    广 州 诗 刊 欢迎阅读 <广州诗刊>作为纯文学刊物,我们旨在弘扬传统,展现新时代人民大众的冷暖.我们主要编发优秀的现代诗歌(含今人创作的古体诗词),兼发优秀的散文小说评论等作品,愿您能挚 ...

  • 【受粉 shòu//fěn 授粉】

    [释义] 受粉:植物雄蕊的花粉传到雌蕊的柱头或胚珠上,就雌蕊来说,叫作受粉. 授粉:植物雄蕊的花粉传到雌蕊的柱头或胚珠上,叫作授粉. [辨析] ①这两个词都是动词,是一组相对的词汇,指的是花粉从雄蕊传 ...

  • 【广州诗刊】No.11770期F版||《樱桃红了》 作者:黄桷兰

    广 州 诗 刊 欢迎阅读 <广州诗刊>作为纯文学刊物,我们旨在弘扬传统,展现新时代人民大众的冷暖.我们主要编发优秀的现代诗歌(含今人创作的古体诗词),兼发优秀的散文小说评论等作品,愿您能挚 ...

  • 【广州诗刊】No.11771期F版||​走进夏天 文/李江南

    广 州 诗 刊 欢迎阅读 <广州诗刊>作为纯文学刊物,我们旨在弘扬传统,展现新时代人民大众的冷暖.我们主要编发优秀的现代诗歌(含今人创作的古体诗词),兼发优秀的散文小说评论等作品,愿您能挚 ...

  • 【2021中考】一道相似压轴题解法微探

    <怎样解题>一书的作者匈牙利数学家波利亚说过,掌握数学就意味着要善于解题.做题不在多而在精,题要解得精彩:对待解题的思想方法要对头,要通过做题,深刻理解概念,扎实掌握基本知识,学会运筹帷幄 ...

  • 2021浦东二模25题解法分析

    2021浦东二模25题以圆内接四边形为背景,综合考察了圆与正多边形(中心角),相似三角形的证明和性质以及等腰三角形的存在性问题,整道题的难度不大,辅助线的添加方法也是常规的连半径或做高解直角三角形. ...