Câu hỏi:

13/07/2024 191

Lyndon word là các xâu khác rỗng, mà có thứ tự từ điển nhỏ hơn tất cả các xâu thu được bằng phép xoay của nó.

Cho một xâu S. Tìm cách tách S thành ít nhất các xâu, sao cho mỗi xâu đều là Lyndon word.

Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa... kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 70k).

Tổng ôn Toán-lý hóa Văn-sử-đia Tiếng anh & các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

void lyndon(string s) {

          int n = (int) s.length();

          int i = 0;

          while (i < n) {

                   int j = i + 1, k = i;

                   while (j < n && s[k] <= s[j]) {

                             if (s[k] < s[j]) k = i;

                             else ++k;

                             ++j;

                   }

                   while (i <= k) {

                             cout << s.substr(i, j - k) << ' ';

                             i += j - k;

                   }

          }

          cout << endl;

}

Bình luận


Bình luận

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Siêu văn bản là gì?

Xem đáp án » 14/03/2023 19,826

Câu 2:

Thông tin là gì? Tiếp nhận thông tin là gì?

Xem đáp án » 13/07/2024 18,415

Câu 3:

Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím.

Định nghĩa giai thừa: giai thừa của 1 số là tích các số liên tiếp từ 1 đến số đó. Trường hợp đặc biệt, giai thừa của 0 và 1 là 1.

Ví dụ, n = 8 thì kết quả đầu ra phải là 1*2*3*4*5*6*7*8 = 40320.

Có 2 cách để viết chương trình tính giai thừa trong python:

· Tính giai thừa không sử dụng hàm đệ quy

· Tính giai thừa có sử dụng hàm đệ quy

Xem đáp án » 13/07/2024 15,560

Câu 4:

Viết chương trình giải phương trình bậc 2 trong Python. Phương trình bậc 2 có dạng: ax2+ bx+c=0.

Xem đáp án » 13/07/2024 7,456

Câu 5:

Khóa chính của bảng thường được chọn theo tiêu chí nào?

Xem đáp án » 13/03/2023 6,278

Câu 6:

Viết chương trình nhập chiều dài, chiều rộng hình chữ nhật. Tính chu vi, diện tích hình chữ nhật và in ra màn hình.

Xem đáp án » 13/07/2024 5,841

Câu 7:

Tính S(n) = 1 + 2 + 3 + … + n bằng C / C++

Xem đáp án » 13/07/2024 5,354