题解:ssy的队列

题目链接

题目描述

SSY是班集体育委员,总喜欢把班级同学排成各种奇怪的队形,现在班级里有 \(N\) 个身高互不相同的同学,请你求出这 \(N\) 个人的所有排列中任意两个相邻同学的身高差均不为给定整数 \(M\) 的倍数的排列总数。

输入格式

共三行:

第一行为 \(N\)

第二行为 \(N\) 个不同的整数

第三行为 \(M\)

输出格式

一行,为符合条件的排列总数(答案对 \(1234567891\) 取余数)。

输入样例

3

-1 0 1

2

输出样例

2

思路

先把题目转化一下:

给一些数和一个模数,这些数模上这个模数结果相同的分为一类

同类数不能相邻,问有多少种排列方式

易知同一类数的效果在序列中是一样的,可以将他们直接视为一种

差异只存在于数的大小不同,在最后乘上一个各个种类数字个数阶乘的乘积就行

设 \(f[i][k]\) 表示已经遍历到第 \(i\) 位,此时最后一个数字还剩下 \(k\) 个

可以用 hash 存每种颜色的状态,但是 map 套 vector 确实方便

转移的时候只用遍历每种状态的剩余种类进行转移就好

需要注意的是得钦定一个和 \(k\) 大小相同的种类为最后一个,不对它进行转移

代码

因为我的代码块会压成一行所以只能这样了

相关推荐
gfsoso16 小时前
Sci-Hub论文免费下载教程(最新)
科研·学术·高校
gfsoso4 天前
Sci-Hub访问指南(附稳定镜像)
科研·学术·高校
gfsoso7 天前
Sci-Hub打不开解决方案
科研·学术·高校
imbackneverdie15 天前
本科毕业论文怎么写?需要用到什么工具?
人工智能·考研·aigc·ai写作·学术·毕业论文·ai工具
欧亚学术2 个月前
【计算机科学】中科院1区降至2区的期刊
论文·科研·sci·学术·期刊·博士·计算机sci
HelloWorld__来都来了3 个月前
2026.2.16 上周科研/学术热点 & 写作Ideas
人工智能·学术
imbackneverdie3 个月前
2026国自然申请书模板大改版,科研人员如何应对?
人工智能·自然语言处理·aigc·科研·学术·国自然·国家自然科学基金
imbackneverdie3 个月前
近年来,我一直在用的科研工具
人工智能·自然语言处理·aigc·论文·ai写作·学术·ai工具
百泰派克生物科技4 个月前
蛋白质质谱鉴定前样品制备注意事项
生物学·学术·技术服务
淘淘学术4 个月前
专著、编著、译著、著作都有什么区别?
学术·专著