From 5ab8a5088b729a9953b8dff1b2a985dc8fb2098b Mon Sep 17 00:00:00 2001 From: mzuenni Date: Mon, 27 Jun 2022 17:19:28 +0200 Subject: updated tcr --- string/lyndon.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 string/lyndon.cpp (limited to 'string/lyndon.cpp') diff --git a/string/lyndon.cpp b/string/lyndon.cpp new file mode 100644 index 0000000..6a131a5 --- /dev/null +++ b/string/lyndon.cpp @@ -0,0 +1,11 @@ +bool next(string& s, int n, char mi = '0', char ma = '1') { + for (ll i = sz(s), j = sz(s); i < n; i++) + s.push_back(s[i % j]); + while(!s.empty() && s.back() == ma) s.pop_back(); + if (s.empty()) { + s = mi; + return false; + } else { + s.back()++; + return true; +}} -- cgit v1.2.3