题目描述:
这个题目和P2525很相似,但是问法不同,这个题问的是给你一个既定序列,问这个序列是所有排列中的第几小的。
题解:
这个题目有两种思路,其中一个是STL的prev_permutation(a,a+n)来不断求解上一个字典序,如果返回值为0,那就说明这个序列已经是字典序最小的。
但是如果用组合数学的知识呢?
康托展开式!~~
康托展开式的公式为
X=a[n] * [(n-1)!] +a[n-1]*[(n-2)!]+....+a[1] * [0!]
其中X代表当前排列小的排列的个数,
a[i]代表当前排列里从i位置右侧比i位置的数小的数的个数。
注意i的范围是从左到右从n~1递减
AC代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int b[10] = {0,1,2,6,24,120,720,5040,40320,362880}; //全排列
int s[100],c[100];
string a;
void Conden(int n)
{for(int i = 1;i <= n;i++){int sum = 0;for(int j = i + 1;j <= n;j++){if(c[i] > c[j]) sum++;}s[i] = sum;}int ans = 0;for(int i = 1;i <= n;i++) ans += s[i] * b[n - i];cout << ans + 1 << endl;
}
int main()
{int n;cin >> n;cin >> a;//因为输入间没有空格,所以用字符串做处理a = "#" + a;for(int i = 1;i <= n;i++) c[i] = a[i] - '0';Conden(n);return 0;
}

Luogu P2524题解相关推荐

  1. Luogu P1497题解

    题目描述: 有一个n * n的方形区域,同时你有k个木牛流马,同时这k个木牛流马有h种颜色,现在规定两个木牛流马不能同时存在于一行或者一列里面,现在问有几种放置方法? 题解 组合数学问题,这个题目整体 ...

  2. luogu 3426题解 (KMP)

    题面 Byteasar 想在墙上涂一段很长的字符,他为了做这件事从字符的前面一段中截取了一段作为模版. 然后将模版重复喷涂到相应的位置后就得到了他想要的字符序列.一个字符可以被喷涂很多次,但是一个位置 ...

  3. Unity 粒子特效—FX Maker

    FX Maker是Unity3d一款非常流行的效果制作插件.不但有超过300种效果预制体, 还可以自己制作效果.包含Mesh Effect 和Particle Effect. 优点:资源库大,可以将消 ...

  4. Luogu P2708 硬币翻转 题解

    Luogu p2708题解 思路: 由于我们这个题目的长度不知道,所以我们不能一次性输入所有的硬币的状态,也许会爆数组(Ps:我没试过我不是知道).所以我们为了保险采取用getchar()一个一个读入 ...

  5. luogu P3786 萃香抱西瓜

    P3786 萃香抱西瓜 题目背景 伊吹萃香(Ibuki Suika)正在魔法之森漫步,突然,许多西瓜(Suika)从四周飞来,划出了绚丽的轨迹.虽然阵势有点恐怖,但她还是决定抱走一些西瓜. 题目描述 ...

  6. 题解 [LuoguP3426][POI2005]SZA-Template

    Luogu Link 题解 P3426(kmp) 首先求出 next\text{next}next 数组(记为 nxtinxt_inxti​). 设 fif_ifi​ 表示印制 [1,i][1,i][ ...

  7. 【线段树】[LUOGU 守墓人] [LUOGU 维护序列] 线段树模板题

    题目: 题目链接:[LUOGU 守墓人] 题解: 线段树单点修改,区间修改,单点查询,区间查询,一系列线段树基本操作,模板打就好. (回头再补一个分块和树状数组的这种板子题,就是用分块和树状数组再写一 ...

  8. 2017年10月23日23:58:04

    占坑-- 深夜填坑ing--今天荒废了一节升旗的时间(毕竟laj是那么爱国辣:-> 早上撸了两题,一个树形dp,存双边的时候最好tot从2开始,因为这样可以通过i^1找到这条边的反向边,还有一个 ...

  9. CF613D Kingdom and its Cities

    题目描述: luogu cf 题解: 虚树上dp. 建虚树没啥说的. 那么dp状态? 考虑dfs时返回一个值,代表这个子树上面需不需要隔断. 如果当前点可以占,那么有至少两个这种子树时应该选这个点并返 ...

最新文章

  1. SharePoint 出现无法识别的属性“type”
  2. 分布式应用的未来 — Distributionless
  3. MySQL存储引擎比较
  4. linux安装openssl
  5. jit即时编译_热点中的即时编译器(JIT)
  6. vlookup两个条件匹配_vlookup,你还是只会基础的单条件查找?
  7. wxpython视频教程下载-闪烁wxpython显示摄像头视频
  8. 合并和排序 Linux 上的文件
  9. java netbeans教程_Netbeans下载安装教程教程
  10. CentOS7和CentOS8 Asterisk 20.0.0 简单图形化界面5--libss7驱动7号信令
  11. lbj学习日记 01 选择结构(c++,if,switch)
  12. Linux磁盘16进制编辑,Tweak
  13. 计算机是好是坏英语作文,电脑游戏是好还是坏英语作文
  14. 【Microsoft Azure 的1024种玩法】六十九.通过SSMS将本地自建SQL Server 数据库脱机迁移至Azure SQL Database
  15. 现代软件工程 怎么教好课 (读书笔记)
  16. 《简约至上:交互式设计四策略》读书笔记
  17. 【CAN通信】CAN协议详解
  18. 2021年中国集成电路重点企业对比(光迅科技VS大唐电信VS士兰微VS中芯国际)[图]
  19. 使用c++实现带分数的运算
  20. mysql 等距_Python气象绘图教程(十一)

热门文章

  1. 英语单词常见前后缀总结
  2. 产品经理培训课程:产品经理从专业走向管理
  3. 笔记本自带键盘的关闭和开启
  4. js对象是什么?如何理解js对象
  5. java poi 读取 word图片_Java Poi 根据文字内容 插入 word 图片-Go语言中文社区
  6. PHP安装包TS和NTS的区别-Centos7 LANMP环境搭建(最完善版本)
  7. python pandas合并多个excel,三行Python代码,合并多个Excel文件
  8. 服饰搭配:色彩与材质
  9. xcopy、rd、COPY、MD、DEL、REN 命令祥解
  10. 重庆python好找工作吗_在重庆大学城呆四年是怎样的体验?