首页 > 其他分享 >next_permutation / prev_permutation 用法

next_permutation / prev_permutation 用法

时间:2022-10-25 12:33:50浏览次数:83  
标签:int long next 用法 permutation prev

给定输入的序列 a(整数即可,其他无限制条件),next_permutation(a + 1, a + n + 1) 可以求出 a 的关于值的下一个排列,prev_permutation(a + 1, a + n + 1) 可以求出 a 的关于值的上一个排列

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 10005;
int n, m;
int a[N];

int main() {
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++) {
        scanf("%d", &a[i]);
    }

    for(int i = 1; i <= m; i++) next_permutation(a + 1, a + n + 1);
    for(int i = 1; i <= n; i++) {
        printf("%d ", a[i]);
    }puts("");

    for(int i = 1; i <= m; i++) prev_permutation(a + 1, a + n + 1);
    for(int i = 1; i <= n; i++) {
        printf("%d ", a[i]);
    }puts("");
    
    system("pause");
    return 0;    
}

例题:普及组 火星人

想了好久,以为都需要dfs了,结果用STL就能解决了

标签:int,long,next,用法,permutation,prev
From: https://www.cnblogs.com/re0acm/p/16824462.html

相关文章

  • E. Permutation by Sum
    传送门题意:给出n,l,r,s,要求构造一个序列,要求满足l,r区间的和是s,存在就是输出序列,否则就-1思路:首先判断是否-1,很简单,就是一个区间里面的最大值和最小值,s必须......
  • efcore 连接SqlServer2008R2报错:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT
    用的是EFCore6,连接SqlServer2008R2时,生成的分页方法会报错,只需要指定ProviderName时加上版本号就行:Microsoft.EntityFrameworkCore.SqlServer@2008,高于2008版本就按默......
  • CF 286A(Lucky Permutation-数列找规律)
    A.LuckyPermutationtimelimitpertestmemorylimitpertestinputoutputp......
  • Vue.nextTick核心原理
    相信大家在写vue项目的时候,一定会发现一个神奇的api,Vue.nextTick。为什么说它神奇呢,那是因为在你做某些操作不生效时,将操作写在Vue.nextTick内,就神奇的生效了。那这是什么......
  • Lang.NEXT 2012相关Session
    2012年4.2-4日的Lang.NEXT2012是.NET(CLR,DLR以及其他平台)上语言及相关工具的设计开发者的盛会。会议的相关Session已经放出,绝对值得好好的学习,地址......
  • POJ 1825/2279(Young/Mr. Young's Picture Permutations-杨氏矩阵和钩子公式)
    给出一个n行的矩阵,每一行有a[i]个数,总共有sum个数,要求每一个位置的数必须比上面的数和左面的数大,求总方案数.杨氏矩阵又叫杨氏图表,它是这样一个矩阵,满足条件:(1)如果格子......
  • Vue 中 nextTick 的实现原理是什么
    vue中有一个较为特殊的API,nextTick。根据官方文档的解释,它可以在DOM更新完毕之后执行一个回调,用法如下://修改数据 vm.msg = 'Hello' //DOM还没有更新 Vue.......
  • CF 1677D(Tokitsukaze and Permutations-冒泡排序)
    已知长度为n的排列,经过k次冒泡(每次把最大的数交换到最后)后,得到的新序列为.现在已知的某些地方的值,不知道的记,求合法原排列数。考虑和排列达成双射关系。且1次冒泡会导致......
  • TEMPLATE3. Permutations 排列
    TEMPLATE3.Permutations组合,可以乱序。所以,需要记录哪些数用过了。每次递归时,选用第一个没用过的数。注意回溯时清空标记。//TEMPLATE3.Permutations#include<bits......
  • 【Vue】fullcalendar - next ,prev切换回调处理
    如(4条消息)fullcalendar-next,prev等切换月份回调处理_Q.E.D.的博客-CSDN博客_fullcalendarprev这篇博客所说,fullcalendarnext,prev等切换月份的按钮是没有回调函......