蓝桥杯模拟-排列序数

2023-10-28

问题

X星系的某次考古活动发现了史前智能痕迹。
这是一些用来计数的符号,经过分析它的计数规律如下:
(为了表示方便,我们把这些奇怪的符号用a~q代替)

abcdefghijklmnopq 表示0
abcdefghijklmnoqp 表示1
abcdefghijklmnpoq 表示2
abcdefghijklmnpqo 表示3
abcdefghijklmnqop 表示4
abcdefghijklmnqpo 表示5
abcdefghijklmonpq 表示6
abcdefghijklmonqp 表示7
…..

在一处石头上刻的符号是:

bckfqlajhemgiodnp

请你计算出它表示的数字是多少?

请提交该整数,不要填写任何多余的内容,比如说明或注释。


思路

此题先前我不是用康托展开式写的,虽然答案是对的,但是写的很繁琐,之后看见网友说这题可以用康托展开式写,于是在网上搜了一下,果然这题是可以用康托展开式写的。
康托展开式其实就一个公式:

X=an*(n-1)!+an-1*(n-2)!+…+ai*(i-1)!+…+a2*1!+a1*0!

这个式子是由1到n这n个数组成的全排列,共n!个,按每个全排列组成的数从小到大进行排列,并对每个序列进行编号(从0开始),并记为X。

比如说1到4组成的全排列中,长度为4,1234对应编号0,1243对应编号1
那a1,a2,a3,a4是什么意思呢?==>>

对1到4的全排列中,我们来考察3214,则

  1. a4={3在集合(3,2,1,4)中是第几大的元素}=2

  2. a3={2在集合(2,1,4)中是第几大的元素}=1

  3. a2={1在集合(1,4)中是第几大的元素}=0

  4. a1=0(最后只剩下一项)

则X=2*3!+1*2!+0*1!+0*0!=14,即3214对应的编号为14。

因此,此题用康托展开式就可以出来了,将abcd…写成1,2,3,4…就行了。


实现代码(c++)

#include<stdio.h>
long long fun(long long n){//求阶乘
    long long s = 1;
    for(int i = 1;i<=n;i++)
        s*=i;
    return s;
}
int main(){
        int f[] = {2,3,11,6,17,12,1,10,8,5,13,7,9,15,4,14,16};
        long long sum = 0;
        for(int i = 0;i<16;i++){
            long long t = 0;
            for(int j = i+1;j<17;j++){
                if(f[j]<f[i]){
                    t++;
                }
            }
            sum+=(t)*fun(17-1-i);//康托展开式公式
        }
        printf("%lld",sum);
        return 0;
}

答案

22952601027516

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯模拟-排列序数 的相关文章

随机推荐

  • 期货十三篇 第七篇 平仓篇

    在期货交易中曾经流行这样一句话 会开仓的是徒弟 会平仓的是师傅 会空仓的是大师傅 在最初的期货交易过程中 我的开仓还算比较顺利 基本上都可以获得一定的盈利 但是我的平仓却十分糟糕 往往把自己的盈利单变成微利单或者亏损单而狼狈离场 我实在不能
  • 贝锐蒲公英:助力企业打造稳定高效的智能安防监控网络

    随着技术的快速发展和物联网的普及 企业面临着许多安全威胁和风险 如盗窃 入侵 信息泄露等 企业需要建立安防监控系统来保护其资产 员工和业务运营的安全 然而 企业在搭建安防监控系统的过程中 可能会面临一些难点 包括以下几个方面 1 监控设备多
  • sysdig_系统分析工具 Sysdig 详解

    Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具 Sysdig 能从运行的系统中 获取系统状态和行为 做过滤分析 功能上超同类开源工具 Sysdig 可以看做是 strace tcpdump lso
  • Java将图片转换成透明底图片

    package com stefan test import java awt Graphics2D import java awt Image import java awt image BufferedImage import java
  • android黑科技系列——手机端破解神器MT的内购VIP功能破解教程

    一 前言 在破解app的时候 我们现在几乎都是在PC端进行操作 但是之前bin神的MT管理器 可以在手机端直接破解 不过也有很大的局限性 但是对于一些简单的app破解没问题的 这个工具其实原理也很简单 就是解析apk中的dex arsc等文
  • 宝兰德BES中间件单机版安全加固相关操作

    因某公司对安全的要求 需要对bes中间件进行安全加固 安全加固的内容主要包括对控制台默认地址修改 实例默认端口修改 控制台默认密码修改 密码加密 加密后的实例启停方式等 首先说一下今天安全加固操作的前提 需要已经分离式部署安装成功bes单机
  • 什么是数据结构?什么是算法

    记得是大一大二的时候学习了数据结构 时间过的好快 现在实现了 现在感觉自己的基础好差很多都不会 欠的帐还是要还的 什么是数据结构 什么是算法 呃呃呃呃 哎 不会 多次参加了MOOC姥姥的数据结构 都没有坚持下来 希望这次可以坚持下来 引用姥
  • MySQL 查询表字段

    复制表结构 CREATE TABLE tb students copy LIKE tb students info 查询mysql所有表数据 字段信息mysql 查询表 所有字段 前2种有重复 select COLUMN NAME colu
  • LINQ之路 8: 解释查询(Interpreted Queries)

    LINQ提供了两个平行的架构 针对本地对象集合的本地查询 local queries 以及针对远程数据源的解释查询 Interpreted queries 在讨论LINQ to SQL等具体技术之前 我们有必要先对这两种架构进行了解和学习
  • Redis的五种数据类型详解

    目录 一 基础的知识 二 五种数据类型 1 String 字符串 2 List 列表 3 Set 集合 4 Hash 哈希表 5 Zset 有序集合 本篇文章更多的是通过命令来彻底掌握Redis的五种数据结构 一 基础的知识 Linux上安
  • 【Windows提权】内核提权

    文章目录 一 描述 二 缓冲区溢出 三 实验环境 四 提权 一 描述 提高自己在服务器中的权限 主要针对网站入侵过程中 当入侵某一网站时 通过各种漏洞提升WEBSHELL权限以夺得该服务器权限 提权 顾名思义就是提高自己在服务器中的权限 就
  • Vue常用的组件库大全【前端工程师必备】

    Vue常用的组件库大全 前端工程师必备 一 移动端 常用组件库 1 Vant ui 2 Cube UI 3 VUX 4 NuTUI 3 0 6 倒计时组件库 7 表格组件库 8 富文本编辑器 9 Loading加载动画组件 10 Mint
  • 【论文解读】元学习:MAML

    一 简介 元学习的目标是在各种学习任务上训练模型 这样它就可以只使用少量的训练样本来解决新任务 论文所提出的算法训练获取较优模型的参数 使其易于微调 从而实现快速自适应 该算法与任何用梯度下降训练的模型兼容 适用于各种学习问题 包括分类 回
  • semantic-ui的使用

    好久又没有写博客了 总是以忙为借口 哎 知识如果只图一时的学习之快 不加以总结输出 总是会忘记 希望自己可以好好规划一下吧 最近任务需要 学习了semantic ui这个前端框架 这里先基本记录一下如何去使用它 我在网上找到了一个seman
  • python-半省略号、三个点、点点点、...符号的用法小结

    一 符号 省略号 和Ellipsis对象 在Python中 一切皆对象 符号 在python中其实也有相应的对象 Ellipsis 如下面的代码所示 和Ellipsis的地址是相同的 打印 显示的结果是Ellipsis 打印 的类型显示el
  • 直流输入过压保护电路

    在嵌入式产品设计中 许多都为电池供电或者USB接口供电 当误操作使供电电压高于芯片工作电压时 就会导致芯片烧坏 带来严重的后果 因此在电源的输入端到芯片的供电输入端 还是很有必要加一个过压保护电路 当输入电压超过设定值 就切断电源 保护芯片
  • java登录远程服务器

    加入ssh的依赖 ch ethz ganymed ganymed ssh2 262 代码实现 因为执行SHELL脚本的时候可能是给出正常的返回值 也可能是异常的信息 这里需要一个JAVA Bean来接收这两个消息 代码如下 import j
  • OpenMMLab开源库总结——笔记1

    摘要 很高兴能加入OpenMMLab AI实战营 成为第二期4班的一名学员 OpenMMLab经过几年的发展和沉淀 其开源项目已经覆盖到计算机视觉的各个领域 OpenMMLab 为香港中文大学 商汤科技联合实验室 MMLab 开源的算法平台
  • mysql软件架构

    客户端是你的业务应用 怎么连接mysql server 一般都是用jdbc Java odbc C 客户端连接mysql 服务 发指令发sql语句等 文件系统 操作系统的文件系统 比如windows的文件系统 linux的文件系统 综上所述
  • 蓝桥杯模拟-排列序数

    问题 X星系的某次考古活动发现了史前智能痕迹 这是一些用来计数的符号 经过分析它的计数规律如下 为了表示方便 我们把这些奇怪的符号用a q代替 abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcd