Antrenament OJI · clasa a 12-a · clasa a 12-a
Combinări modulo un prim (OJI 12)
Cerință
Răspunde la q întrebări: pentru fiecare pereche (n, k), afișează combinări de n luate câte k, modulo 1 000 000 007.
Problemă originală de antrenament în stil OJI, clasa a 12-a, nu este subiect oficial.
Date de intrare
Prima linie: q. Următoarele q linii: n și k.
Date de ieșire
q linii, câte un răspuns. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ q ≤ 100 000
- 0 ≤ k ≤ n ≤ 1 000 000
- Sunt 20 de teste, fiecare valorează 5 puncte.
1 233166 187746
463636305
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Precalculează factorialele și inversele lor o singură dată; fiecare răspuns devine n!·inv(k!)·inv((n−k)!). Rezultatul corect pentru acest exemplu este: 463636305.
2 197584 42586 482496 415605
874980460 856812801
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Precalculează factorialele și inversele lor o singură dată; fiecare răspuns devine n!·inv(k!)·inv((n−k)!). Rezultatul corect pentru acest exemplu este: 874980460 856812801.
8 158997 73237 903657 201358 850193 88711 571138 392338 801769 307625 748147 254192 102603 98658 895626 112310
946174624 471831888 25639418 980453456 459065180 999036821 115681799 654004974
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Precalculează factorialele și inversele lor o singură dată; fiecare răspuns devine n!·inv(k!)·inv((n−k)!). Rezultatul corect pentru acest exemplu este: 8 linii, începând cu „946174624”.
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri