Sebuah string memiliki urutan, tetapi biasanya tidak semuanya berbeda. Apa kompleksitas menemukan frekuensi maksimum dari setiap urutan?
Sebagai contoh, string "urutan" berisi 7 salinan dari urutan "menuntut" dan ini adalah maksimum.
Contoh kode brute-force di http://ideone.com/UIp3t
Apakah ada teorema struktural yang terkait? Keduanya ternyata salah :
- urutan frekuensi maksimum terpanjang adalah unik
- frekuensi maksimum dari setiap panjang adalah unimodal dalamk
Tautan yang mungkin terkait:
- Menghitung # urutan berbeda http://11011110.livejournal.com/254164.html
- Masalah kontes terkait untuk berbagai sumber http://www.spoj.pl/problems/CSUBSEQS/
- Makalah terkait http://dx.doi.org/10.1016/j.tcs.2008.08.035
Sunting 10 hari kemudian: terima kasih telah melihatnya! Saya bertanya-tanya apakah ini akan membuat masalah kontes pemrograman polinomial waktu yang bagus. Saya kira tidak, tetapi saya berharap untuk memikirkannya lagi nanti.
ds.algorithms
string-search
daveagp
sumber
sumber
Jawaban:
dari pencarian, berikut adalah makalah dengan beberapa penelitian & temuan untuk penelitian tingkat pascasarjana tetapi (peringatan) tidak ada referensi. ia memiliki beberapa heuristik, perkiraan, hasil empiris & komentar tentang masalah dan beberapa ide untuk membuktikan kompleksitasnya (perkiraan) dll.
Identifikasi Penelusuran yang Paling Sering Dilakukan
CSE 549 Laporan Akhir Proyek Biologi Komputasi
Mikhail Bautin 2006
(Walaupun ada beberapa masalah standar urutan yang agak mirip & dipelajari misalnya dalam makalah Elzinga et al, apakah mungkin masalah urutan khusus ini belum terlalu banyak dipelajari?)
sumber
Bukan jawaban, hanya lemma.
Jadi pertama-tama orang mungkin bertanya-tanya seperti apa string yang paling umum seperti 12..t12..t12..t .. adalah. Setelah berpikir sedikit orang menyadari bahwa itu juga harus memiliki bentuk 12..t12..t12 .., hanya jelas lebih pendek. Jika string asli memiliki panjang nt, dan selanjutnya dari bentuk khusus ini memiliki panjang k, maka jumlah kemunculannya persis . Ini menyiratkan bahwa urutan paling umum juga berakhir dengan (yaitu harus dapat dibagi dengan ). Tapi di mana ini mengambil maksimum dan berapa ??? Cukup memalukan, tapi saya tidak bisa mengetahuinya ...(n+k−⌈k/t⌉k)=(n+k−⌈k/t⌉n−⌈k/t⌉) t k t
sumber