只要是参加jsoi活动的同学一定都听說过Hanoi塔的传说:三根柱子上的金片每天被移动一次当所有的金片都被移完之后,世界末日摧毁也就随之降临了
在古老东方的幻想乡,囚们都采用一种奇特的方式记录日期:他们用一些特殊的符号来表示从1开始的连续整数1表示最小而N表示最大。创世纪的第一天日历就被赋予了生命,它自动地开始计数就像排列不断地增加。
我们用1-N来表示日历的元素第一天日历就是
……每次它都生成一个以前未出现過的“最小”的排列——把它转为N+1进制后数的数值最小。
日子一天一天地过着有一天,一位预言者出现了——他预言道当这个日历到達某个上帝安排的时刻,这个世界就会崩溃……他还预言到假如某一个日期的逆序达到一个值M的时候,世界末日摧毁就要降临
什么是逆序?日历中的两个不同符号假如排在前面的那个比排在后面的那个更大,就是一个逆序一个日期的逆序总数达到M后,末日摧毁就要降临人们都期待一个贤者,能够预见那一天到底将在什么时候到来?
只包含一行两个正整数分别为N和M。
输出一行为世界末日摧毁嘚日期,每个数字之间用一个空格隔开
这道题目类似于贪心,先判断第一个数那么就还剩下n-1个数,求出它们的最大逆序对为tm<=t就说明n-1個数的逆序对可以达到m,所以这第一个数就放在最前面这肯定是最优解,如果t<m那么就要把这个数放最后,而这个时候有(r-l+1)个数大于这个數所以就有(r-l+1)个逆序对,所以用m-(r-l+1)