https://www.bilibili.com/video/BV1GY4y1y7RA/?spm_id_from=333.999.0.0
1.因为题目要求排序。所以最终相同长度的单词一定会聚拢在一起。所以分别对不同长度的单词求解,然后使用乘法原理,乘起来就好。
2.对于相同长度的单词,如果单词没有重复,则直接阶乘。但是题目没规定无重复,所以考虑对相同单词归类计数,然后进行可重复元素的排列。参考这里 .
小红是一名小学生,他非常喜欢玩文字游戏。有一天,他在家里发现了一些单词,这些单词的长度不同,但是他想要将它们按照单词长度进行排序。因为他非常聪明,所以他很快就想到了一个方法:对于同一个长度的单词,他可以任意安排它们的位置。于是,他开始了他的排序之旅。
现在小红拿到了一些单词, 他准备将这些单词按照单词长度进行非降序排序。对于同一个长度的单词,小红可以任意安排它们的位置。
小红想知道,最终有多少种不同的排序方式?由于答案可能过大,请对 109+7 取模。
我们定义,如果两个方案排序后的字符串不同,则视为两种方案。
第一行输入一个正整数 n ,代表单词的数量。
第二行输入一行字符串,仅包含小写字母和空格。两个单词之间保证恰好有一个空格。
1≤n≤100000
所有单词的长度之和不超过 300000 。
最终的方案数对 109+7 取模的值。
输入
3
tazi ta zi
输出
2