暴力必备:next_permutation用法

Posted bullshit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了暴力必备:next_permutation用法相关的知识,希望对你有一定的参考价值。

技术分享图片

next_permutation可以将一个序列变为第一个字典序大于她的序列,并且本身具有返回值,如果不存在字典序大于她的序列了就返回false

所以,标准用法:

    int len=3;
    do 
    {
        rep(i,1,len) cout<<num[i]<<" ";
        cout<<endl; 
    }
    while (next_permutation(num+1,num+1+len));

next_permutation函数还可以自定义比较函数:
技术分享图片

这样就是生成第一个比她字典序小的序列了。

next_permutation常用于计数类问题的暴力&&打表,以及常见的枚举,暴力,可以作为对拍程序来用,实现较为简单qwq


以上是关于暴力必备:next_permutation用法的主要内容,如果未能解决你的问题,请参考以下文章

POJ 2718 Smallest Difference(贪心 or next_permutation暴力枚举)

next_permutation用法

next_permutation 与 prev_permutation(全排列算法)

STL中关于全排列next_permutation以及prev_permutation的用法

poj 2585 Window Pains 暴力枚举排列

排列组合函数next_permutation()