编码与解码;字符串字典序问题;根据字符串找位序,根据位序找字符串;

来源:互联网 发布:java的项目经验怎么写 编辑:程序博客网 时间:2024/05/29 18:36

 

 

 

以上为根据字符串,找到它所在的字典序.

 

 

 

 

 

 

 

 

 

 

以上为根据字典序,恢复字符串.

 

 

思想:

 

 有重集合的全排列公式:  (n1+n2+n3....nk)!

                                  --------------------

                                    n1!n2!n3!....nk!

 

k表示一共有几种字符,n1,n2,...nk 表示每种字符的数量.

通过这个公式可以计算出排列数,对于无重集合一样适用.

 

两个算法都是围绕这个公式与一种逐位考虑的思想,从字符串第一位,一位一位的确定,利用递归解决的问题.

具体思想不描述了,见算法竞赛入门经典P186页.