题解:三连击
1.题目
地址:https://www.luogu.com.cn/problem/P1008
借这个题熟悉下next_permutation()的用法
这个函数主要就是把英语记住其他就和sort差不多的用
如果已经到了最后一个序列就会返回false。
next_ per mu ta tion ~~
每次执行一次就会将原有的序列打乱成下一个序列
2.注意
面意思,就是下一个排列,那么考虑一个问题,如果当前排列不是第一个排列呢(关于第几个排列的问题如果不懂的请百度下泰勒展开),就会有他的孪生兄弟:prev_permutation()用法一样,只是求出的是上一个序列。一个序列的第一个排列就是他的升序排列
幸好这个题给的数据都是排过序的。所以说对于无序的序列来讲,可以先next_permutation()+perv_permutation();或者先排个序然后再next_permutation();就可以求出全部的排列了。
3.代码:
1 |
|