题解:ssy的队列

题目链接

题目描述

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

输入格式

共三行:

第一行为 \(N\)

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

第三行为 \(M\)

输出格式

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

输入样例

3

-1 0 1

2

输出样例

2

思路

先把题目转化一下:

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

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

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

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

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

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

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

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

代码

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

相关推荐
百泰派克生物科技3 天前
蛋白质质谱鉴定前样品制备注意事项
生物学·学术·技术服务
淘淘学术6 天前
专著、编著、译著、著作都有什么区别?
学术·专著
淘淘学术6 天前
发表的专著在哪里查询?
学术·专著
淘淘学术7 天前
怎么提高专著的含金量?
学术·专著
淘淘学术18 天前
SCI录用后一般几个月检索?
sci·学术
淘淘学术23 天前
SCI有错误会撤稿吗?
sci·学术
imbackneverdie24 天前
从零到一,如何用AI高效构建国自然申请书初稿?
人工智能·自然语言处理·aigc·科研·ai写作·学术·国家自然科学基金
imbackneverdie1 个月前
国自然申报技术路线图模板
图像处理·人工智能·信息可视化·数据可视化·学术·国自然·国家自然科学基金
CS创新实验室1 年前
文摘:关于提问
研究·学术
禁默1 年前
【学术会议-第五届机械设计与仿真国际学术会议(MDS 2025) 】前端开发:技术与艺术的完美融合
前端·论文·学术