5.1--5.1.1 Inversions 反序(上)

zoj1201--------Inversion Let { A1,A2,...,An } be a permutation of the set{ 1,2,..., n}. If i Aj then the pair (Ai,Aj) is called an "inversion" of the permutation. For example, the permutation {3, 1, 4, 2} has three inversion 阅读详情

从5.1的标题COMBINATORIAL PROPERTIES OF PERMUTATIONS来看,这一节应该会涉及比较多的组合数学的东西,这一节也属于比较有意思的一节。


反序和反序对

Inversions 反序,这是什么概念呢?对于排序,当然,排列是重要的研究对象,那么反序应该也是针对排列而言的。

Let (ai a2 ... an) be a permutation(排列) of the set {1,2,..., n}. If i < j and ai > aj, 
the pair (ai,aj) is called an inversion(反序对) of the permutation; 

从该定义来看,反序对就是违背了排序的一对元素,唯一没有反序对的排列就(1,2,...,n)。

事实上,在学线性代数的时候,求n*n行列式的时候,我们曾经用过反序的概念,G. Cramer 在1950提出的公式


上面的求和是对(1,2,...,n)的所有排列求和,而inv(a1a2...an)是该排列的反序对个数,我们简单叫做反序数。



反序表和反序数

The inversion table(反序表) b1b2 ... bn of the permutation a1 a2 ... an is obtained by 
letting bj be the number of elements to the left of j that are greater than j. (bj等于大于j且在j右边的元素个数的总和)
In other words, bj is the number of inversions whose second component is j. 
例子:591826473 的反序表为 2 3 6 4 0 2 2 10,
since 5 and 9 are to the left of 1; 5, 9, 8 are to the left of 2; etc. 

当然从这个定义看出反序表主要是对自然数的排列进行定义的。这也可以扩展,但是讨论问题而言就变得简单了。大多数也需要对一个排列的序号进行研究。

那么反序表的所有元素加起来就是排列的反序数了。而且反序表满足0 <= b1 <= n - 1, 0<=b2<=n-2, ..., 0 <= b(n-i) <= 1, bn = 0. 


反序表和其排列有着一一对应的关系,从排列到反序表,我们已经知道是唯一的,那么如何从反序表到排列呢,只要我们先把最大值写下,然后从大到小通过插值的方法就可以完成其排列了,因为bn一定为0,这样就可以唯一确定一个排列,这个性质很重要,对解决问题的转化也很有帮助。

例如计算排列个数时,我们以前常用的是一种策略,选第一个有n种,选第二个有n-1,所以是n的阶乘,那么从数学来看,反序表更直接,因为反序表的每个元素是独立的,算出来也是n的阶乘。

另一个例子,在第一卷的1.2.10中,曾经计算过排列的局部最大值的问题,就是计算有多少个元素大于他们所有的后继的问题。那么这个数就是反序表中所有有反序极大值的元素的个数总和,这个极大值指的是bj=n-j的时候。这是因为,当bj=n-j时,那么说明大于j的数全部在j的左边,那么右边的数一定是小于j的,所以该数也是具有局部最大值的。那么当我们求一个排列的平均局部最大值个数的时候,用反序表可以简单解决这个问题,因为反序表每个元素都是独立的,所以,b1有1/n概率是n-1,类似的,可以得到,该平均值是1/n+1/(n-1)+..+1=Hn。


在原排列中随意交换两个相邻元素,反序数总是加一或者减一,这个也很容易证明,因为只对相邻的那两个元素的反序对有影响,要不就是从反序对变成不是反序对,要不就是从不是反序对变成反序对。对其他元素并没有影响。

文中还给出了阿基米德的均匀多面体的图,加深直观理解,也颇有趣味。越来越兴奋的发现在下面展示。


排列的逆和反序表

排列的逆,在第一卷的时候也提到过,定义为a‘j = k 当 ak = j 。那么
591826473 ___ 123456789 
123456789        359716842 

一个排列的逆和该排列有着相同的反序数。Rotha给出了比较有趣的证明。

We construct an n x n chessboard having a dot in column j of row i whenever ai = j. Then we put × 's in all squares that have dots lying both below (in the same column) and to their right (in the same row). 

下面是591826473的构造图:


文中说容易看出构造图中的× 的个数就是反序数。这里我们可以知道,在黑点左边的格子数就是该元素的比它小的元素的总数。而除去一些在它前面,又比它小,就可以得到在它后面,又比它小的数,这个数就就构成数对反序对,所有的× 的个数也就是反序对的总和,即反序数。

那么我们现在把图转置一下,交换行列,(相当于把图按照图的y轴向面向你的方向转180°,然后把得到的图再按图的中心旋转90°),那么得到的就是该排列的逆的图了。经过转置,图中的× 的个数是不变的,所以就可以得到证明。





『杭电1320』Inversion Problem Description Let { A1,A2,...,An } be a permutation of the set{ 1,2,..., n}. If i < j and Ai > Aj then the pair (Ai,Aj) is called an "inversion" of the permutation. For example, the permutation {3, 1, 4, 2} has three inversions: (3,1), (3,2) 阅读详情

相关推荐

triton-inference-server-ge-backend

新版本特性 v2.3.0 支持对全局、session、graph 的options进行添加,从而进一步调优模型,相关案例请参考 性能调优方法论。 支持采用分档模式将符合条件模型转化为静态图,提高吞吐性能。 补充如何采用分档模式+锁核+调整精度,进一步提高性能。 在AscendHub下载镜像时需确认好版本,若使用旧版本镜像,需要手工下载源码编译生成新的backend后才能支持新特性。 版本特性 v2.2.0 支持从onnx文件读取模型输入输出信息, config中若无指定input,output,将会自动从文件中读取; 调整动态图在多实例下使用多Session方式,提高并发吞吐(显存占用会增高); 支持动态batch场景小batch动态合并特性,配合多Session,提高吞吐; 补充调优方法论以及cnclip模型的最佳实践; 支持多模型特性,可支持同时拉起多个模型,提高显存利用率; 支持非0轴动态shape场景; 支持TensorFlow的pb文件。

【算法实验 Lab-report-unit-1-03】

Let { A1,A2,…,An } be a permutation of the set{ 1,2,…, n}. If i < j and Ai > Aj then the pair (Ai,Aj) is called an “inversion” of the permutation. For example, the permutation {3, 1, 4, 2} has three inversions: (3,1), (3,2) and (4,2). The inversion t

allto的博客 608

2007-2025年36家商业银行绿色信贷余额数据(2025年无缺失)

1、指标覆盖区间为2007年至2025年 2、数据取自各银行年度报告及社会责任报告 3、核心指标为绿色信贷余额 4、涉及银行包括:苏农银行、中国银行、紫金银行、杭州银行、华夏银行、邮储银行、青岛银行、兴业银行、苏州银行、农业银行、宁波银行、上海银行、江阴银行、招商银行、长沙银行、北京银行、无锡银行、民生银行、浙商银行、常熟银行、成都银行、工商银行、郑州银行、光大银行、南京银行、建设银行、浦发银行、贵阳银行、渝农商行、西安银行、交通银行、江苏银行、中信银行、张家港行、平安银行、青农商行

求逆序数

1.用树状数组求逆序数 缺点:只能对整数求逆序数 #include "TreeArray.h" /* 算法: 由树状数组求逆序对。加入元素i即把以元素i为下标的a[i]值+1,从队尾到队首入队, 每次入队时逆序对数 += getsum(i - 1),即下标比它大的但是值比它小的元素个数。 因为树状数组不能处理下标为0的元素,每个元素进入时+1,相应的其他程序也要相应调整。 求出原始的序列的

幸福在路上 5567

2019-2026年 中国分行业进出口数据 xlsx

数据整理中国各细分行业海关进出口数据,包括中国对各个国家进口、出口数据,中国各个行业进出口数据,各国贸易数据是了解每个国家市场的最基础和重要信息。数据非面板数据,时间、行业分类有缺失。 标 日期 采购商国家/地区 供应商国家/地区 采购商 供应商 采购商地址 供应商地址 通知人 通知人地址 制造商 原产国 目的国 起运港 目的港 HS编码 产品描述 唛头 数量 数量单位 重量 金额($) 单号 集装箱号 品牌

后端开发 Docker4.99.0 AppleSilicon 苹果芯片 Mac 安装包

本资源为 Docker Desktop 4.99.0 苹果芯片(Apple Silicon)专用安装包,原生适配 M 系列 Mac,可快速搭建本地容器开发环境,支持镜像拉取、容器编排、项目打包部署。适合后端开发、运维、全栈开发者,用于本地微服务、测试环境、项目容器化开发。

ZOJ_1201_Inversion

Inversion Time Limit: 2 Seconds      Memory Limit: 65536 KB   Let { A1,A2,...,An } be a permutation of the set{ 1,2,..., n}. If i Aj then the pair (Ai,Aj) is called an "inversion" of the permut

博观而约取,厚积而薄发 982

milvus-v2.6.25镜像文件

milvus-v2.6.25镜像文件

POJ 2085 Inversion

 InversionTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 2631 Accepted: 1143DescriptionThe inversion number of an integer sequence a1, a2, . . . , an i

bobten2008的专栏 1308

LightTools 中LCD投影仿真的checkerboard pattern偏振控制技术解析

本文深入解析了在LightTools软件中进行LCD投影仿真时,利用checkerboard pattern(棋盘格图案)结合偏振控制技术来模拟液晶面板像素开关、提升图像对比度的核心方法。文章从实战角度出发,详细拆解了通过设置波片(如1/2波片)和偏振片来操控S光与P光转换的原理,并分享了在LightTools中搭建仿真模型、使用VBA脚本自动化配置参数以提高效率的实用技巧,为光学工程师优化投影系统仿真流程提供了清晰指导。

weixin_29305313的博客 344

手把手教你用SysMax桥接软件搞定CANoe、INCA和刷写工具(附驱动配置避坑点)

本文详细介绍了如何使用SysMax PCAN FD桥接软件实现CANoe、INCA和刷写工具的无缝对接,提供从驱动配置到多软件协同的全链路指南。重点解析了驱动安装避坑点、CANoe配置技巧、INCA集成方法以及刷写工具链优化方案,帮助汽车电子工程师构建高效开发环境。

weixin_30500105的博客 391

5.1--5.1.1 Inversions 反序

从5.1的标题COMBINATORIAL PROPERTIES OF PERMUTATIONS来看,这一节应该会涉及比较多的组合数学的东西,这一节也属于比较有意思的一节。 反序和反序对 Inversions 反序,这是什么概念呢?对于排序,当然,排列是重要的研究对象,那么反序应该也是针对排列而言的。 Let (ai a2 ... an) be a permutation(排列) of t...

weixin_30906701的博客 282

68页|大型车企集团数字化转型汽车数字化信息系统平台规划方案

这份PPT文档提供了一个全面的汽车集团数字化转型规划方案,涵盖了项目目标、规划思路、实施关注点、解决方案建议以及合作优势等多个方面。

baidu_25525561的博客 1328

5.1--5.1.1 Inversions 反序(下)

讲完了反序数的个数,接下来的正文又令我大为吃惊,涉及到反序分布的问题。 反序分布

Em_Num_Cool的专栏 296

Ubuntu系统 nano 编辑器使用教程

• 原因:文件编码不兼容(如 Windows 的 CRLF 换行符)。• 若使用 SSH 工具(如 PuTTY),确保终端设置中未占用。掌握这些操作后,你可以高效使用 nano 完成大部分文本编辑任务!• 底部快捷键栏:显示常用操作的快捷键(• 如果文件已修改,会提示是否保存:按。• 顶部状态栏:显示文件名和编辑状态。表示 Ctrl + G(查看帮助)。保存时自动生成备份文件(原文件名后加。• 强制保存只读文件:用。启动 nano 时添加。启动 nano 时添加。(重做)触发自动缩进。

qq_44534541的博客 2084

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3987

5.1--5.1.1 Inversions 反序(中)

前一篇已经讨论了反序的一些基本概念和有趣的对应关系,有人会思考这和排序有什么关系,肤浅地看,排序就是把有高反序的排列变成0反序的,还记得那个多面体么。从一个点到顶端。这似乎有着比较有趣的关系。 反序数 前一节我们讨论的都是一些对应关系,那么反序数对于一个n元素的所有排

Em_Num_Cool的专栏 724

基于STM32F1XX 、HAL库的BH1745NUC-E2环境光传感器驱动应用C语言程序设计

printf("BH1745制造商ID: 0x%02X\r\n", BH1745_ReadManufacturerID(&hbh1745));#define BH1745_ADDR_HIGH 0x39 // ADDR引脚接VDD。#define BH1745_ADDR_LOW 0x38 // ADDR引脚接地。= 0xE0) // BH1745制造商ID为0xE0。// 清除RGBC测量使能位。printf("BH1745初始化失败\r\n");

PP_Cottage的博客 280

[agc023E]Inversions

题目大意 给你一个大小为n的数组a[1..n]。 一个排列P[1..n]是合法的,当且仅当对于所有i=1~n,P[i]&lt;=a[i]。 问你所有合法排列的逆序对个数。 n&lt;=2e5。 分析 我们先考虑总合法排列数怎么算。 设cnt[i]表示a的值大于等于i的数量。 我们考虑从大到小填数,那么一个位置能够填了,之后也一定能够填,就没有后效性了。 数量就是∏i=1..ncn...

ZLTJohn的博客 1230

气象大模型光伏功率预测中的应用:从短期,超短期,中长期的实现与开源代码详解

本文详细介绍了基于大模型的光伏功率预测方法,涵盖超短期(15分钟-1小时)、短期(1-6小时)和中长期(1天-1周)预测。文章首先讨论了数据准备与预处理,包括历史功率、气象、天文和电站特性数据的收集与特征工程。随后,针对不同预测需求,提出了多种深度学习模型:超短期预测采用1DCNN-LSTM混合模型,短期预测使用Transformer模型,中长期预测则通过多尺度特征提取模型和概率预测方法处理不确定性。文章还提供了模型训练、评估、部署和优化的完整流程,并开源了代码实现。未来研究方向包括结合数值天气预报、开发时

专注AI大模型,软件混淆,授权 1573

家用扫地机器人实物拆解报告-从顶盖到每一颗螺丝 · 逐层拆解旗舰扫拖一体机器人

2026年旗舰扫拖机器人拆解报告:采用D形机身设计,主机重4.5kg,基站重12kg。核心配置包括RK3588S+STM32H743双处理器、8颗21700电池、LDS激光雷达和双摄像头+结构光导航系统。创新设计亮点:锥形滚刷自动排毛发、活水循环拖地系统、基站集成450W强力集尘和自动上下水模块(带三重防漏保护)。整机采用模块化设计,关键部件均支持快速更换,在密封性、防呆设计和降本增效方面展现出成熟的工程智慧。

智能硬件研发,欢迎交流 518

求逆序数(the number of inversions)(数学)

1.用树状数组求逆序数 缺点:只能对整数求逆序数 1 #include "TreeArray.h" 2 /* 3 算法: 4 由树状数组求逆序对。加入元素i即把以元素i为下标的a[i]值+1,从队尾到队首入队, 5 每次入队时逆序对数 += getsum(i - 1),即下标比它大的但是值比它小的元素个数。 6 因为树状数组不能处理下标为0的元素,每个元素进入时+

GLSilence的专栏 722

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Inversion II

题目描述 Let { A1,A2,...,An } be a permutation of the set{ 1,2,..., n}. If i < j and Ai > Aj then the pair (Ai,Aj) is called an "inversion" of the permutation. For example, the permutation {3, ...

苏格拉没有底 566

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ZOJ 1201 Inversion

Inversion Time Limit: 2 Seconds      Memory Limit: 65536 KB   Let { A1,A2,...,An } be a permutation of the set{ 1,2,..., n}. If i Aj then the pair (Ai,Aj) is called an "inversion" of the permut

胖子加油! 493

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: Chapter five -- sorting
下一篇: 5.1--5.1.1 Inversions 反序(中)
Em_Num_Cool
博客等级 码龄16年 0粉丝 5原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值