“九韶杯”河科院程序设计协会第一届程序设计竞赛 D数列重组  next_permutation

题目

原题链接: https://ac.nowcoder.com/acm/contest/13493/D


知识点

----boolnext_permutation(BidrectionalIterator first,BidrectionalIterator last)

next_permutation对一串数全排列时, 可以用它, 一般搭配do while()

但要注意的是, next_permutation的原理是把数换成逆序, 所以只有原数组排成顺序才会出现完整的全排列

#include <iostream>
#include<algorithm>
using namespace std;
int a[3]={1,2,3}; int main()
{
do cout << a[0] << a[1] << a[2] << endl;
while(next_permutation(a, a+3));//意为排列前3个数 return 0;
}

另: prev_permutation()与此相反, 是将数换成顺序

题意

给出一串数2, 3, 3, 3, 5, 6, 6, 7, 7, 8, 要求将它分成三份, 每份数的数量可以==1, 并且每份必须是单增/单减(中间可以出现几个值相等), 比如(2,2,2)和(1,2,2,3) 和(1,2,2)都可以, 要求输出这样排列的种数

题解

代码还是挺好懂的~

AC代码

#include <bits/stdc++.h>

using namespace std;
bool cmp(int a,int b){
return a > b;
}
int a[10]={2, 3, 3, 3, 5, 6, 6, 7, 7, 8}; int main()
{
long long res = 0; do
{
bool ok = false;
for(int i = 0; i <= 7; i ++)//i的值为截取的最后一个数是第几个数(=下标+)
{
for(int j = i+1; j <=8; j ++)
{
if((is_sorted(a,a+i+1) || is_sorted(a,a+i+1,cmp)) &&
(is_sorted(a+i+1,a+j+1) || is_sorted(a+i+1,a+j+1,cmp)) &&
(is_sorted(a+j+1,a+10) || is_sorted(a+j+1,a+10,cmp)))
{
ok = 1;
break;
}
}
if(ok) break;
}
if(ok)res ++; }while(next_permutation(a, a+10)); cout << res << endl;
return 0;
}

“九韶杯”河科院程序设计协会第一届程序设计竞赛 D数列重组 next_permutation的更多相关文章

  1. 江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  2. “东信杯”广西大学第一届程序设计竞赛(同步赛)H

    链接:https://ac.nowcoder.com/acm/contest/283/H来源:牛客网 题目描述 由于临近广西大学建校90周年校庆,西大开始了喜闻乐见的校园修缮工程! 然后问题出现了,西 ...

  3. 江西财经大学第一届程序设计竞赛 F题 解方程

    链接:https://www.nowcoder.com/acm/contest/115/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  4. 江西财经大学第一届程序设计竞赛 H题 求大数的阶乘

    链接:https://www.nowcoder.com/acm/contest/115/H 来源:牛客网 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所学的知识 ...

  5. 江西财经大学第一届程序设计竞赛 I

    链接:https://www.nowcoder.com/acm/contest/115/I来源:牛客网 题目描述 小P和小Q是好朋友,今天他们一起玩一个有趣的游戏. 他们的初始积分都为1,赢的人可以将 ...

  6. 江西财经大学第一届程序设计竞赛 H

    链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网 题目描述 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所 ...

  7. 江西财经大学第一届程序设计竞赛 G

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 题目描述 周末,小Q喜欢在PU口袋校园上参加各种活动刷绩点,体验丰富多彩的大学生活. 但是每个活 ...

  8. 江西财经大学第一届程序设计竞赛 F

    链接:https://www.nowcoder.com/acm/contest/115/F来源:牛客网 题目描述 对于方程 2018 * x ^ 4 + 21 * x + 5 * x ^ 3 + 5 ...

  9. 江西财经大学第一届程序设计竞赛 E

    链接:https://www.nowcoder.com/acm/contest/115/E来源:牛客网 题目描述 当你的好友给你发来一条消息,你的消息列表上就会置顶显示该好友的名字以及该好友发给你的消 ...

随机推荐

  1. PMP之挣值管理(PV、EV、AC、SV、CV、SPI、CPI)的记忆方法

    挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV. PV:计划值,在即定时间点前计划完成活动 ...

  2. Linux移植到自己的开发板(一)环境搭建

    环境搭建 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 1. 在Windows系统安装VMware15软件: 2. 网上下载并解压u ...

  3. WIRESHARK 提取百度云客户端中的下载地址

    序言:近两年感觉云盘是越来越不行了,什么115,360,华为,新浪一些网盘纷纷关门,现在手里能用的就只剩下一个百度云坚挺着.可那速度,简直感人,好吧,没钱冲VIP,就去找了一个破解版,用了一年,爽得飞 ...

  4. SpringCloudAlibaba 微服务讲解(一)微服务介绍

    微服务介绍 1.1 系统架构的演变 随若互联网的发展,网站应用的规模也在不断的扩大,逬而导致系统架构也在不断的进行变化.从互联 网早起到现在,系统架构大体经历了下面几个过程:单体应用架构一蟻直应用架构 ...

  5. Spring Cloud与Spring Boot版本匹之间的关系

    由于学习的起步较晚,创建项目的时候一直采用的都是较新的springboot,用的2.0.2.RELEASE版本.参照网上的示例进行实验的时候,有时候会才坑,特记录一二以备忘 首先就是SpringBoo ...

  6. spring-boot-learning-使用jsp

    加入依赖: <!-- jsp--> <!--引入Spring Boot内嵌的Tomcat对JSP的解析包--> <dependency> <groupId&g ...

  7. 什么是 Spring beans?

    Spring beans 是那些形成 Spring 应用的主干的 java 对象.它们被 Spring IOC 容器初始化,装配,和管理.这些 beans 通过容器中配置的元数据创建.比如, 以 XM ...

  8. springboot+shiro 02 - 异步ajax请求无权限时,返回json格式数据

    博客: https://www.cnblogs.com/youxiu326/p/shiro-01.html github:https://github.com/youxiu326/sb_shiro_s ...

  9. vue和mint-ui loadMore 实现上拉加载和下拉刷新

    首先安装mint-ui组件库 npm install mint-ui 在main.js中引入mint-ui和样式 import 'mint-ui/lib/style.css' import MintU ...

  10. 前端面试题整理——手写AJAX

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...