暴力必备: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

posted @ 2018-11-04 08:18  Splitor  阅读(411)  评论(0编辑  收藏  举报