所以,这场比赛已经结束了。
我试图解决这个问题:http://codeforces.com/contest/554/problem/C
我花了1个小时来解决这个问题。我的想法是,用各种球填充阵列的最后n
个位置。然后,在剩余的位置,通过计算由每种球分开的阵列中的剩余位置来找到排列 - 1(因为一个固定在最后位置)。这显然会错过很多测试用例,因为我不考虑最终将有两个最大数字组合在一起的情况,或者那里有3个最大数字。同样,除了4个数字之外,其他类似的数字也可能在它们之前。但我的意思是,我无法想办法如何解决这个问题?
任何输入都将不胜感激。谢谢!
此外,比赛已经结束,所以没有问题。 :)
答案 0 :(得分:1)
考虑给出的例子,我们每种颜色都有1,2,3,4个球。
放置第一球:1选项。
现在考虑放置下一个颜色的2个球。将一个放置在任何位置(2个选择 - 在第一个球之前或之后),然后将第二个放在最后一个位置。
现在考虑放置下一个颜色的3个球。将两个放在任何位置C(1 + 2 + 2,2),最后一个放在最后。
最后考虑放置最终颜色的4个球。将三个放在任何位置C(1 + 2 + 3 + 3,3),最后一个放在最后。
这提供了1680种选择。