首页 > 其他分享 >闲话 23.1.4

闲话 23.1.4

时间:2023-01-04 17:56:39浏览次数:64  
标签:le 数列 卷积 闲话 bmod 答案 23.1 log

闲话

截至本文撰写时,我多项式那篇已经写了 15k 了,而我甚至才刚介绍到分式分解

今日推歌是《夜行者们》洛天依/闹闹丶

好今天又是水水水(

杂题

P5219

计数 \(n\) 个点、最大度数恰好为 \(m\) 的有标号无根树的数量。

\(n \le 10^5\)。

我们发现这个东西是恰好为 \(m\)。这个不好做。
但是我们可以求出最大度数不超过 \(m\) 的树的数量,然后作差分就能得到答案。

有标号无根树,考虑采用 prufer 序列。于是我们就需要计数 \(n - 2\) 长度、元素值域在 \([1, n]\) 内且每个元素出现次数不超过 \(m - 1\) 次的序列数。

这个可以对每个元素构造 EGF 后作卷积。可以发现每种元素对应的 EGF 相同,为

\[F(x) = \sum_{i=0}^{m-1} \frac{x^i}{i!} \]

答案即为 \([x^{n-2}/(n-2)!] F^n(x)\)。

直接做就有 \(O(n\log n)/O(\frac{n\log^2 n}{\log \log n})\)。建议采用半在线卷积

Submission.



P4173

带通配符单模式串多点匹配。

\(n,m \le 3\times 10^5\)。

基础题。

考虑形式化地表示从一个点处结束是否可以得到答案。取所有 \(*\) 为 \(0\),得到 \(i\) 处结束的子串可以匹配等价于 \(A_i = 0\),其中 \(A_i\) 的定义为

\[A_i = \sum_{p = 0}^{m - 1} (a_p - b_{i - m + p + 1}) a_p b_{i - m + p + 1} \]

直接翻转 \(a\),得到 \(a_{m - p - 1}\) 对应 \(b_{i - m + p + 1}\),因此构造出了卷积形式。展开式子求解即可。

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

Submission.



ARC145F

  • 对于每个 \(0\le k<mod\) 的整数 \(k\),求出长度为 \(n\),值域为 \([0,m]\) 且满足 \(\sum_{i=1}^na_i\equiv k\pmod{mod}\) 的序列 \(a\) 的个数。

  • \(1\le n,m\le10^6\),\(1\le mod\le500\),答案对 \(998244353\) 取模。

APJ 的题解

等写完多项式再来补(



P3321

小C有一个集合 \(S\),里面的元素都是小于 \(m\) 的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为 \(n\) 的数列,数列中的每个数都属于集合 \(S\)。

小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数 \(x\),求所有可以生成出的,且满足数列中所有数的乘积 \(\bmod \ m\) 的值等于 \(x\) 的不同的数列的有多少个。

小C认为,两个数列 \(A\) 和 \(B\) 不同,当且仅当 \(\exists i \text{ s.t. } A_i \neq B_i\)。另外,小C认为这个问题的答案可能很大,因此他只需要你帮助他求出答案对 \(1004535809\) 取模的值就可以了。

\(1 \le n \le 10^9\),\(3 \le m \le 8000\),\(1\le x < m\)。

假设 \(f_{i, j}\) 为当前选了 \(i\) 个数字,乘积 \(\bmod \ m\) 为 \(j\) 的数列的数量。容易写出转移

\[f_{i + j, k} = \sum_{a \times b \bmod m = k} f_{i, a} \times f_{j, b} \]

我们发现这是个乘卷积(?)。考虑将卷积对象,即对应第二维的下标使用离散对数表示。

因此首先对 \(m\) 处理原根,随后生成每个值对应的原根的幂次,我们就能将条件转化成 \(g^{a + b} \mod m = g^k\)。直接做多项式乘法即可。这里需要注意的是,由于下标是 \(\bmod\ m\) 意义下的,因此需要作循环卷积。

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

Submission.

标签:le,数列,卷积,闲话,bmod,答案,23.1,log
From: https://www.cnblogs.com/joke3579/p/chitchat230104.html

相关文章

  • 如何分享自己写的东西、赋值运算符、算术运算符——the twelfth——2023.1.3
    分享自己写的东西给朋友在vs中生成Relese在Relese文件中找到exe文件分享即可但是一些小的文件会直接执行return0,所以需要将return0前加一个成getchar(),变成待定状态。......
  • 2023.1.3
    本来今天是不想写得,但是明天不练车,所以说还是写了吧,嘿嘿。碎碎念:今天阳光明媚,心情很不错!去办理身份证,非常顺利,拍身份证之前洗了一把脸,冲拍照的小哥哥要的卫生纸,最后扔垃圾没......
  • 闲话 23.1.3
    闲话我今天下午看着补罢(例行推歌:パラレルガール/雄之助feat.初音ミク是好好听的雄氏老方!抓耳朵又有节奏感!已经在单曲循环了!反正我也不是A层写这个也就图个热闹......
  • 学习2023.1.3
    data:znode相关的业务数据均存储在这里,但是,父节点不可存储数据;children:存储当前节点的子节点引用信息,因为内存限制,所以 znode的子节点数不是无限的;stat:包含zno......
  • 闲话 23.01.02
    闲话有人说不如让我把学术部分去掉,我就把闲话部分去掉了。多项式杂题凑数?凑数就凑数吧。[HEOI2016/TJOI2016]求和给定\(n\),计算\[\sum_{i=0}^n\sum_{j=0}^i{{i}......
  • 2023.1.2周报
    2023.1.2周报本周总结:阳了,所以一直处于虚弱状态,现在基本好了,接下去可以恢复正常训练了。大致学了下矩阵的运用,但大部分时间在看文档,没什么精力写题目。矩阵构造有非常多......
  • the eleventh——2023.1.2
    scanf()函数一般只读取字符串中的一个单词,而不是一句话。例如:scanf("%s",name);printf("Hello,%s!",name) NingBabaHello,Ning!(后面的Baba在scanf这读取不到,在遇......
  • 2023.1.2周报
    本周总结:学习了《算法竞赛》第六章数论6.7-6.9、第七章组合数学7.1-7.6内容,牛客组合数学课程,做书上例题和习题。准备新手课堂文档和讲课,顺便出结训赛题目。大方向组合数......
  • SZTUACM寒假周报(2022.12.24~2023.1.1)
    SZTUACM寒假周报(2022.12.24~2023.1.1)杂项——搜索专题知识整理前言:因为之前搜索学得很随意,知识点很杂,加上期末一直在赶ddl,投入训练时间很少,所以本周决定整理一下有关搜......
  • 2023.1.2 No.5 新年
    距离上一次写日记过去了一个多月了,我12月初回的家,带着一大堆的实验报告。但是谁也没想到刚回家一周不到就放开了,12月中旬我母亲感染,几天后我也跟着感染。回家后摆烂导......