COCI-20 (2020) - Γύρος #3 - 5 (Specijacija)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 4.0s
Memory limit: 1G

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Specijacija

Σας δίνεται ένας θετικός ακέραιος n και μια ακολουθία a1,a2,,an από θετικούς ακέραιους αριθμούς, τέτοιοι ώστε: i(i1)2<aii(i+1)2.

Η ακολουθία παραμετροποιεί ένα δέντρο με (n+1)(n+2)2 κορυφές, που αποτελούνται από n+1 επίπεδα με 1,2,,n+1 κορυφές, με τον ακόλουθο τρόπο:

coci20c5-figure.svg
Το δέντρο παραμετροποιείται με a=(1,2,6).

Το i-οστό επίπεδο έχει κορυφές i(i1)2+1,,i(i+1)2. Η κορυφή ai έχει δύο παιδιά, και οι υπόλοιπες κορυφές στο επίπεδο έχουν ένα παιδί η καθεμία.

Θέλουμε να απαντήσουμε σε q ερωτήματα της μορφής "Ποιός είναι ο μεγαλύτερος κοινός πρόγονος των x και y;", δηλαδή η κορυφή με τη μεγαλύτερη τιμή που είναι πρόγονος και του x και του y.

Είσοδος

Η πρώτη γραμμή περιέχει ακέραιους αριθμούς n,q και t(1n,q200000,t0,1), τον αριθμό των παραμέτρων, τον αριθμό των ερωτημάτων και μια τιμή που θα χρησιμοποιηθεί για τον προσδιορισμό των τιμών των κορυφών στα ερωτήματα.

Η δεύτερη γραμμή περιέχει μια ακολουθία n ακέραιων αριθμών ai(i(i1)2<aii(i+1)2), που παραμετροποιούν το δέντρο.

Η i-οστή από τις παρακάτω q γραμμές περιέχει δύο ακέραιους xi και yi(1xi~,yi~(n+1)(n+2)2), οι οποίοι θα χρησιμοποιηθούν για τον προσδιορισμό των τιμών των κορυφών στα ερωτήματα.

Έστω zi η απάντηση στο i-οστό ερώτημα και έστω z0=0. Οι τιμές, στο i-οστό ερώτημα, xi και yi είναι:

xi=((xi~1+tzi1)mod(n+1)(n+2)2)+1,
yi=((yi~1+tzi1)mod(n+1)(n+2)2)+1,

όπου mod είναι το υπόλοιπο της ακέραιας διαίρεσης αριθμού.

Παρατήρηση: Σημειώστε ότι αν t=0, ισχύει xi=xi~ και yi=yi~, επομένως όλα τα ερωτήματα είναι γνωστά από την είσοδο. Αν t=1, τα ερωτήματα δεν είναι γνωστά εκ των προτέρων, αλλά καθορίζονται χρησιμοποιώντας απαντήσεις προηγούμενων ερωτημάτων.

Έξοδος

Περιλαμβάνει q γραμμές. Στην i-οστή γραμμή τυπώνουμε τον μεγαλύτερο κοινό πρόγονο των xi και yi.

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 10 q=1,t=0
2 10 n1000,t=0
3 30 t=0
4 60 t=1
Παραδείγματα

input

Copy
3 5 0
1 2 6
7 10
8 5
6 2
9 10
2 3

output

Copy
1
5
1
6
1

input

Copy
3 5 1
1 2 6
7 10
8 5
6 2
9 10
2 3

output

Copy
1
6
2
1
1
Επεξήγηση των παραδειγμάτων:

Το δέντρο και από τα δύο παραδείγματα φαίνεται στο αρχικό σχήμα.

Οι τιμές των κορυφών των ερωτημάτων στο δεύτερο παράδειγμα είναι:
x1=7,y1=10,
x2=9,y2=6,
x3=2,y3=8,
x4=1,y4=2,
x5=3,y5=4.


Comments

There are no comments at the moment.