#4815
Se consideră șirul de litere mici ale alfabetului englez A[1], ..., A[N].
Fie succesiunea de caractere alăturate din șir A[x], A[x + 1], ..., A[y], unde 1 ≤ x ≤ y ≤ N, pe care o notăm cu A[x, y]. Pentru oricare literă mică a alfabetului englez l, definim range(l) ca fiind 0, dacă l apare cel mult o dată în A[x, y]. Altfel, valoarea range(l) este egală cu diferența dintre cea mai mare și cea mai mică poziție pe care litera l apare în A[x, y].
Șirul suport asociat lui A[x, y] este șirul de caractere minim lexicografic ce conține fiecare literă l de range(l) ori. Asupra șirului se efectuează două tipuri de operații:
c și poziția poz, se înlocuiește A[poz] cu c.x, y, se generează șirul suport al lui A[x, y].C = 1: determinați șirul suport minim lexicografic dintre cele obținute în urma tuturor operațiilor de generare.C = 2: pentru fiecare operație de generare dată, determinați numărul de anagrame distincte ale șirului suport obținut, modulo 1999999973.| Problema | anagrame6 | Operații I/O |
anagrame.in/anagrame.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
| Id soluție | #60410822 | Utilizator | |
| Fișier | anagrame6.cpp | Dimensiune | 4.98 KB |
| Data încărcării | 31 Octombrie 2025, 16:38 | Scor/rezultat | Eroare de compilare |
anagrame6.cpp: In function 'long long int modpow(long long int, long long int)': anagrame6.cpp:14:25: error: expected primary-expression before '__int128' if (e & 1) r = (__int128)r * a % MOD; ^ anagrame6.cpp:14:25: error: expected ')' before '__int128' anagrame6.cpp:15:14: error: expected primary-expression before '__int128' a = (__int128)a * a % MOD; ^ anagrame6.cpp:15:14: error: expected ')' before '__int128' anagrame6.cpp: In function 'int main()': anagrame6.cpp:68:24: error: expected primary-expression before '__int128' fact[i] = (__int128)fact[i - 1] * i % MOD; ^ anagrame6.cpp:68:24: error: expected ')' before '__int128' anagrame6.cpp:72:31: error: expected primary-expression before '__int128' invfact[i - 1] = (__int128)invfact[i] * i % MOD; ^ anagrame6.cpp:72:31: error: expected ')' before '__int128' anagrame6.cpp:138:37: error: expected primary-expression before '__int128' if (r > 0) ans = (__int128)ans * invfact[r] % MOD; ^ anagrame6.cpp:138:37: error: expected ')' before '__int128'
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema anagrame6 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.