字典序问题 算法实现题1-2

2021-04-13 00:28

阅读:485

标签:设计   出现   name   names   table   loading   组成   image   c++   

字典序问题 算法实现题1-2

题意

《计算机算法设计与分析》第8页。

在数据加密和数据压缩中需要对特殊的字符串进行编码。给定的字母表由26个小写字母组成。该字母表产生的升序字符串是指字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc, xyz等都是升序字符串。

他们有对应的序号:

1 2 …… 26 27 28 ……
a b …… z ab ac ……

题解思路

技术图片

代码实现

#include
using namespace std; 
const int MAXN = 26;
const int MAXL = 6;
int ff[MAXN+1][MAXL+1];
int gg[MAXL+1];
//多加了一个记忆化 
int f(int ch,int len)
{
    int index=0;
    if(ff[ch][len]!=0)
		return ff[ch][len];
    if(len==1)
        return ff[ch][1] = 1;
    for(int i=ch+1; i

字典序问题 算法实现题1-2

标签:设计   出现   name   names   table   loading   组成   image   c++   

原文地址:https://www.cnblogs.com/alking1001/p/13346692.html


评论


亲,登录后才可以留言!