COI-Guide
Σε αυτή την ιστοσελίδα θα βρείτε σημειώσεις και εισαγωγικές ασκήσεις για διάφορα θέματα, όπως επίσης και λύσεις προβλημάτων από παλιούς διαγωνισμούς. Σε κάθε section θα βρείτε υλικό για την συγκεκριμένη ενότητα. Σε αυτή την σελίδα θα βρείτε κάποια resources τα οποία μπορείτε να χρησιμοποιήσετε για να μάθετε κάτι καινούργιο, ή να ακονίσετε τις γνώσεις σας.
Practice
Δυστυχώς ή ευτυχώς, για την επιτυχία στο competitive programming, δεν χρειάζονται μόνο γνώσεις, αλλά και πάρα πολλή εξάσκηση, έτσι ώστε να βρει κανείς τον κατάλληλο τρόπο σκέψεις για την επίλυση διάφορων ειδών προβλημάτων. Επίσης πρέπει να μάθουμε να διαχειριζόμαστε τον χρόνο μας κατά την διάρκεια διαγωνισμών. Υπάρχουν πολλές ασκήσεις στο διαδίκτυο, αλλά κυρίως χρησιμοποιούμε τις εξής ιστοσελίδες:
- Codeforces: Η κύρια ιστοσελίδα που χρησιμοποιούμε ως κατά το πλείστον για εξάσκηση. Διοργανώνει περίπου κάθε εβδομάδα ένα 2-ωρο διαγωνισμό με 5-7 ασκήσεις. Όλες οι ασκήσεις από τους διαγωνισμούς αποθηκεύονται στην ιστοσελίδα και μπορεί όποιος θέλει να τις δοκιμάσει. Το τι κάνει το codeforces ενδιαφέρον είναι τα ratings του κάθε user. Ο καθένας έχει το δικό του rating, ένα αριθμό ο οποίος αντιπροσωπεύει τo "επίπεδο" του. Όταν σε σχέση με τους άλλους πάει καλά σε κάποιο διαγωνισμό, το rating αυξάνεται, και όταν δεν παει καλά το rating μειώνεται (ακριβώς όπως στο σκάκι). Αυτή η αλλαγή στο rating κάνει τους διαγωνισμούς στο codeforces πολύ ενδιαφέρον. Πολλές φορές το χρησιμοποιούμε με την συντομογραφία CF.
- AtCoder: Παρόμοια φιλοσοφία με το codeforces, αλλά δεν έχει τόσους πολλούς χρήστες. Πολλοί πιστεύουν ότι τα προβλήματα του AtCoder είναι πιο ψηλής ποιότητας παρά του Codeforces.
- Codechef: Επίσης παρόμοιο με τα πιο πάνω.
- USACO: Αρκετά διαφορετικό. Διοργανώνει 4 διαγωνισμούς τον χρόνο, και είναι το αντίστοιχο της Κυπριακής Ολυμπιάδας Πληροφορικής στην Αμερική. Έχει 4 διαφορετικά επίπεδα (Bronze, Silver, Gold, Platinum), το καθένα με πιο δύσκολα προβλήματα. Η μορφή του είναι πιο κοντά σε προβλήματα ολυμπιάδων.
- CSES: Ιστοσελίδα με μερικές βασικές (αλλά όχι απαραίτητα εύκολες) ασκήσεις για εισαγωγή σε διάφορες ενότητες του competitive programming.
Επίσης κοιτάζεται το αντίστοιχο κανάλι στο discord για να ενημερώνεστε για άλλους εφήμερους διαγωνισμούς.
Resources
Όταν κατά την διάρκεια της εξάσκησης δείτε κάτι το οποίο δεν γνωρίζεται, ίσως να είναι καλά να το μελετήσετε περισσότερο, αφού μπορεί να σας βοηθήσει σε άλλες ασκήσεις στο μέλλον. Υπάρχουν αρκετά καλές ιστοσελίδες και βιβλία στο διαδύκτιο τα οποία να εξηγούν διάφορα θέματα/αλγορίθμους/δομές δεδομένων. Μερικά από αυτά είναι:
- USACO Guide: Ιστοσελίδα με πολλά blogs για διάφορα θέματα, μαζί με ασκήσεις (και η έμπνευυση για την δημιουργία αυτής της ιστοσελίδας).
- cp-algorithms: Παρόμοιο με πιο πάνω. Ξεκίνησε ως αγγλική μετάφραση του e-maxx.ru αλλά πλέον έχει αρκετό υλικό για πολλούς αλγορίθμους και δομές δεδομένων
- Competitive Programming Handbook: Μπορείτε να το κατεβάσετε δωρεάν από την ιστοσελίδα του βιβλίου. Αρχίζει από τα βασικά και φτάνει σε αρκετά περίπλοκα θέματα.
- Codeforces Catalog: Μια λίστα με educational codeforces blogs
- Competitive Programming 3/4: Βιβλία του Steven Halim, παρόμοια με το Competitive Programming Handbook, με περισσότερα θέματα και ασκήσεις.
Για μερικά topics θα βρείτε και σε αυτή την ιστοσελίδα συνδέσμους σε υλικό στα Ελληνικά, το οποίο δημιουργήθηκε από μέλη της Ολυμπιάδας.