首页 > 其他分享 >ABC288Ex 题解

ABC288Ex 题解

时间:2023-03-20 21:11:56浏览次数:46  
标签:le 奇数 题解 sum ABC288Ex odd operatorname

题意

传送门

给定 \(n,m,x\),询问有多少个长度为 \(n\) 的非负整数序列满足以下条件:

  • \(0\le a_1\le a_2\le\dots\le a_n\le m\)
  • \(a_1\oplus a_2\oplus\dots\oplus a_n=x\)

答案对 \(998244353\) 取模。

\(1\le n\le200,0\le m<2^{30},\le x<2^{30}\)。

题解

看到 \(m,x\) 的范围,大概是数位 \(\text{dp}\)。但“有序可重“的条件难以处理,我们将答案转化为有序不可重,再转化为无序不可重。

设无序不可重时长度为 \(i\) 的答案为 \(g_i\),则 \(ans=\sum\limits_{i=1}^n \frac{g_i}{i!}\binom{m+\frac{n-i}{2}}{m}[2|n-i]\)。接下来考虑算出 \(g\)。

注意到无序可重很好求,设 \(f_i\) 为无序可重时长度为 \(i\) 的答案。现在只需通过 \(f\) 得出 \(g\) 即可。也就是去除所有有重复的序列。

对三元组 \((i,j,k)\) 计数,其表示有 \(j\) 个出现奇数次的数,\(k\) 个出现偶数次的数,且这 \(j\) 个数的出现次数之和为 \(i\)。范围 \(i\in[0,n],j\in[0,n),k\in[0,n]\)。

首先选出 \(i\) 个数的位置,方案为 \(\binom{n}{i}\);再加入奇数,每个奇数可以选 \(i\) 个位置中的任意奇数个,但不能由重叠,方案为 \(\operatorname{odd}(i,j)g_j\),其中 \(\operatorname{odd}(i,j)\) 表示将 \(i\) 个数放入 \(j\) 个不同集合且每个集合均有奇数个数的方案数。同理放入偶数为 \(\operatorname{even}(n-i,k)(m+1-j)^{\underline{k}}\)。所以:

\[g_n=f_n-\sum_{i=0}^n\sum_{j=0}^{n-1}\sum_{k=0}^n\binom{n}{i}\operatorname{odd}(i,j)g_j\operatorname{even}(n-i,k)(m+1-j)^{\underline{k}} \]

其中 \(\operatorname{odd}\) 和 \(\operatorname{even}\) 可以 \(O(n^3)\) 、后面的下降幂可以 \(O(n^2)\) 预处理。再搞个前缀和,对每个 \(n\) 可以 \(O(n^2)\) 求 \(g\)。而前面求 \(f\) 是 \(O(n^2\log m)\) 的。所以总复杂度为 \(O(n(n^2+n^2\log m))=O(n^3\log m)\)。

标签:le,奇数,题解,sum,ABC288Ex,odd,operatorname
From: https://www.cnblogs.com/FishJokes/p/17237814.html

相关文章

  • 问题解决01:默认不执行.ps1文件 - 无法双击.ps1文件
    默认不允许执行.ps1文件扩展名为.ps1的文件是用PowerShell写好的脚本文件。在Windows系统中,默认情况下是不允许执行.ps1文件。想双击一下执行.ps1文件?双击ps1文件很有......
  • 【题解】CF1034E
    题目描述给定\(n\)和长度为\(2^n\)的数列\(a_{0},a_{1}...a_{2^n-1}\)和\(b_{0},b_1...b_{2^n-1}\),保证每个元素的值属于\([0,3]\)生成序列\(c\),对于\(......
  • 【题解】CF889E
    题目描述\[f(x,n)=x\moda_n\]\[f(x,i)=(x\moda_i)+f(x\moda_i,i+1)\]给出a序列,当x取遍所有非负整数时\(f(x,1)\)的最大值。题解首先注意到\(a_i\)只......
  • 【题解】CF1368E
    题目描述有一个由\(n\)个点\(m\)条边组成的有向无环图,每个点出度至多为2。您需要标记一些点(不超过\(\frac{4}{7}n\)个)。标记一个点\(u\)将会删除所有与\(u\)连......
  • 【题解】CF1225F
    题目描述给出一棵n个节点的有根树T,点编号为0∼n−1。记f(u)为u的父节点。初始时你有一条n个点的链L(标号任意),每次操作你可以令f(u)←f(f(u))。需要将链改造......
  • 【题解】CF1439A2
    题目描述给定一个\(n\timesm\)的\(01\)矩阵,每次操作可以将某个\(2\times2\)的矩阵内的\(3\)个数取反,请在\(n\timesm\)步内将矩阵变为全\(0\)。题解这种题......
  • C# 上传接口返回错误: (413) Request Entity Too Large问题解决
    问题报错:Failedtoloadresource:theserverrespondedwithastatusof413(RequestEntityTooLarge)找了很多方法,说什么反向代理配置啥的其实很多项目并没有开反......
  • CF1804C 题解
    题目链接今天好不容易有空更那就再更一篇(一道很有意思的诈骗题,我会写出我的思考过程。题意:(我的翻译)一个转盘有$n$个格子分别为$0$$1$$2$$\cdots$$n-1$,初始时在......
  • 【题解】ABC294
    AtCoderBeginnerContest294AFilter无意义题,找出所有偶数。BASCIIArt无意义题,按题意模拟。CMergeSequences无意义题,离散化即可。DBank无意义题,set维护即......
  • ucyhf 题解
    题目传送门愚人节题目,具体题面看翻译。先写一个判断素数的函数,这题并不需要什么特殊的筛法,新手可以参考以下代码。boolisprime(intx){if(x<=1)return0;......