Eu quero contar o número de strings sobre um alfabeto finito , que não contém repetições, e com isso quero dizer para qualquer substring de, , não há cópia separada de no . Por exemplo, deixe. Então é uma das seqüências de caracteres que quero contar, pois para a substring , não há cópias disjuntas. No entanto, contém essa repetição.
Se alguém já descobriu uma fórmula útil, faça o link. Caso contrário, voltarei a este post em qualquer artigo que eu escrever, se eu usar a resposta de alguém.
Aqui está outro exemplo. Vamos tentar construir uma cadeia longa sobre , que não contém repetições:
aaa (não pode ser a)
aaab (a ou b)
aaabbb (não pode ser b)
aaabbba (não pode ser b ou a)
aaaba (não pode ser a ou b)
Se construíssemos uma árvore, poderíamos contar o número de nós, mas quero uma fórmula.
Edit: Bem, não é tão assustador quanto eu pensava se convertermos isso em um problema de escolha de lixeira. Um conjunto de cadeias de comprimento k com pelo menos uma repetição é igual ao conjunto que é a união de todas as permutações do produto cartesiano: que é a repetição necessária. Não sei se isso é útil, mas parecia profissional :) De qualquer forma, deixe que sejam | A | escaninhos, escolha dois (mesmo que o mesmo) para repetir e escolha mais e multiplique (as 4 primeiras já estão escolhidas, vêem?). Agora só preciso encontrar essa fórmula a partir de matemática discreta.