Data Analyst
Μια φορά κι έναν καιρό, ένας ασκούμενος κατά της απάτης της Yandex Ads εντάχθηκε στην ομάδα. Καθώς η ομάδα απάτης ήταν ενεργή, προσομοίαζε την κίνηση στους ιστότοπούς τους μέσω επισκέψεων bot, και έτσι λάμβανε χρήματα για εμφανίσεις διαφημίσεων από bots, η αποστολή του ασκούμενου ήταν να βρει όλους αυτούς τους απατηλούς ιστότοπους με ψεύτικη κίνηση. Ενδιαφέρον είναι ότι όλη η κίνηση σε αυτούς τους ιστότοπους δημιουργούνταν με υποκατάσταση IP, κάνοντας να φαίνεται ότι ένας bot επισκεπτόταν από την πόλη A, αλλά στην πραγματικότητα η συσκευή βρισκόταν σε εντελώς διαφορετικό μέρος. Πέρασε πολύς χρόνος, και ο ασκούμενος προσπάθησε να καλύψει ολόκληρη αυτή την ομάδα απάτης, καταφέρνοντας ακόμη και να πιάσει μερικούς ιστότοπους μερικώς. Αλλά ολόκληρο το δίκτυο δεν μπόρεσε να πιαστεί. Μετά από κάποιο χρονικό διάστημα, παρατήρησε μια είδηση: στην πόλη A, στις 02.08.2025, δεν υπήρχε καθόλου κινητό διαδίκτυο. Ωστόσο, το ενσύρματο (οικιακό) διαδίκτυο συνέχιζε να λειτουργεί. Δεδομένου αυτού, πώς μπορεί ο ασκούμενος να βρει όλους τους ψεύτικους ιστότοπους; Έχετε αρχεία καταγραφής ιστότοπων σε μορφή πίνακα για την περίοδο από 30.07.2025 έως 10.08.2025: timestamp | site_id | city_id Κάθε εγγραφή αντιστοιχεί σε μια επίσκεψη σε έναν ιστότοπο από μια συσκευή. Είναι γνωστό ότι η κίνηση bot αλλάζει πολύ λιγότερο από την πραγματική κίνηση ανά ημέρα. Ο στόχος σας είναι να βρείτε όλους τους ιστότοπους, των οποίων η κίνηση αποτελούνταν κυρίως από bots που πλαστογράφησαν την περιοχή τους στην πόλη A. Σημείωση Ο πίνακας που περιέχει τα δεδομένα ονομάζεται logs. Παράδειγμα εγγραφής στον πίνακα: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A
Ο Afanasy εργαζόταν για 2 εβδομάδες στην συγγραφή κώδικα που θα μπορούσε να λύσει ιαπωνικά σταυρόλεξα με υποστήριξη εννέα χρωμάτων, όταν σε μια συνάντηση ομάδας, ένας συνάδελφός του του είπε ότι μπορούσε να χειριστεί το έργο πιο γρήγορα ο ίδιος, και το πρόγραμμα πλέον δεν είχε νόημα. Αλλά ο Afanasy, ως αισιόδοξος, αποφάσισε να συνεχίσει να εξασκείται σε αυτό το έργο και να κάνει το εξής — να εκτιμήσει πόσο καλά χειρίζεται ο συνάδελφός του τα σταυρόλεξα. Για αυτήν την αξιολόγηση, επέλεξε ένα ανάλογο του μετρικού IoU — ο υπολογισμός θα είναι παρόμοιος με το κλασικό Intersection Over Union, αλλά κατά χρώματα. Λειτουργεί ως εξής: κάθε ταιριαστό κελί στο αρχικό και στη λύση κατά χρώμα προσθέτει 1 στον αριθμητή, και στον παρονομαστή, προστίθεται 1 για κάθε κελί στο αρχικό και στη λύση (για ταιριαστά κελία, προστίθεται μόνο ένα). Μετά, γίνεται μέση τιμή πάνω στον αριθμό των χρωμάτων στην αρχική εικόνα, στρογγυλεμένη σε δύο δεκαδικά ψηφία; το μηδέν δεν θεωρείται χρώμα, οπότε η μετρική δεν πρέπει να υπολογίζεται για τα κελία αυτού του χρώματος. Η εισαγωγή ξεκινά με μια γραμμή που περιέχει τον αριθμό των γραμμών n και των στηλών m (με αυτή τη σειρά). Στη συνέχεια, ακολουθούν 2n γραμμές, που περιέχουν m αριθμούς διαχωρισμένους με κενά — οι πρώτες n γραμμές αφορούν το αποσταλμένο σταυρόλεξο, και οι επόμενες n — την αρχική εικόνα. Υποτίθεται ότι κάθε γραμμή, ξεκινώντας από τη δεύτερη, περιέχει ακριβώς m αριθμούς. Ως απάντηση, εκτυπώστε έναν αριθμό στρογγυλεμένο σε δύο δεκαδικά ψηφία, όπως στα παραδείγματα. Εδώ είναι μερικά παραδείγματα: 1. Πρώτο παράδειγμα [phone] -> 1.0 Εξήγηση: η συνεισφορά των ταιριασμένων και μη ταιριασμένων κελιών (1.0 + 1.0 + 1.0 + 1.0) / αριθμός χρωμάτων (4) 2. Δεύτερο παράδειγμα [phone] -> 0.08 Εξήγηση: η συνεισφορά των ταιριασμένων και μη ταιριασμένων κελιών (0.25 + 0.0 + 0.0) / αριθμός χρωμάτων (3); τα μηδενικά δεν λαμβάνονται υπόψη, ούτε ως κελία στις αναπαραστάσεις, ούτε στον αριθμό χρωμάτων. 3. Τρίτο παράδειγμα [phone] όπου η αποσταλμένη εικόνα αρχίζει [phone] — όπου τελειώνει η αποσταλμένη εικόνα 0 1 2 — όπου αρχίζει η αρχική εικόνα [phone] -> 0.47 Εξήγηση: η συνεισφορά των ταιριασμένων και μη ταιριασμένων κελιών (0.4 + 0.5 + 0.5) / αριθμός χρωμάτων (3); τα μηδενικά δεν λαμβάνονται υπόψη, ούτε ως κελία στις αναπαραστάσεις, ούτε στον αριθμό χρωμάτων. 4. Τέταρτο παράδειγμα [phone] -> 0.0 Εξήγηση: η συνεισφορά των ταιριασμένων και μη ταιριασμένων κελιών (0.0) / αριθμός χρωμάτων (1); τα μηδενικά δεν λαμβάνονται υπόψη, ούτε ως κελία στις αναπαραστάσεις, ούτε στον αριθμό χρωμάτων.
B. Προθέματα και Επιθέματα Δίνεται ένας ταξινομημένος πίνακας με n μηδενικά. Σε κάθε βήμα, μπορείτε να επιλέξετε έναν τυχαίο αριθμό από τα πρώτα ή τα τελευταία στοιχεία αυτού του πίνακα και να προσθέσετε ένα σε όλα τα επιλεγμένα στοιχεία. Είναι δυνατόν να φτάσετε στην καθορισμένη κατάσταση του πίνακα μετά από κάποιο αριθμό τέτοιων ενεργειών; Μορφή εισόδου Η πρώτη γραμμή περιέχει έναν ακέραιο 1 ≤ n ≤ 100000 — τον αριθμό των στοιχείων στον πίνακα. Η δεύτερη γραμμή περιέχει n μη αρνητικούς ακέραιους a1, a2, ..., an χωρισμένους με κενά, όπου ai ≤ 10^18 — τα επιθυμητά τελικά στοιχεία. Μορφή εξόδου Εκτυπώστε "YES" αν μια τέτοια κατάσταση είναι εφικτή, και "NO" αν δεν είναι. Παράδειγμα Είσοδος [phone] Έξοδος YES Σημείωση Οι καταστάσεις [phone] μπορούν να επιτευχθούν ως εξής: προσθέτοντας ένα στα πρώτα τρία στοιχεία, με αποτέλεσμα [phone] προσθέτοντας ένα στα τελευταία τέσσερα στοιχεία, με αποτέλεσμα [phone] προσθέτοντας ένα στο τελευταίο στοιχείο, με αποτέλεσμα [phone]
D. Κινέζικα πυροτεχνήματα Ο Βλαντιμίρ αγόρασε ένα σετ από 3 κινέζικα πυροτεχνήματα. Φαίνονται ακριβώς τα ίδια και ανακατεύονται σε ένα κουτί, αλλά σύμφωνα με τις οδηγίες, έχουν διαφορετική αξιοπιστία: 1. "Ελίτ" — ποσοστό ελαττωμάτων 10% (πιθανότητα επιτυχίας 0.9). 2. "Πρότυπο" — ποσοστό ελαττωμάτων 20% (πιθανότητα επιτυχίας 0.8). 3. "Οικονομικό" — ποσοστό ελαττωμάτων 40% (πιθανότητα επιτυχίας 0.6). Ο Βλαντιμίρ παίρνει τυχαία το πρώτο πυροτέχνημα, το ανάβει, και λειτουργεί επιτυχώς. Ευτυχισμένος, αποφασίζει να πυροδοτήσει τα υπόλοιπα δύο ένα μετά το άλλο. Ποια είναι η πιθανότητα και τα δύο δεύτερα και τρίτα πυροτεχνήματα να λειτουργήσουν επίσης — χωρίς ελάττωμα; Στρογγυλοποιήστε την απάντηση σε τρία δεκαδικά ψηφία.
Θα λειτουργούσε η προτεινόμενη λύση για SQLite;
A. Το Καλύτερο Ερευνητικό Εργαστήριο Σε μια συγκεκριμένη πόλη, αρκετά ερευνητικά εργαστήρια ασχολούνται με την έρευνα βακτηριακών καλλιεργειών. Μελετούν μια ακολουθία δειγμάτων, όπου κάθε δείγμα ανήκει σε ένα συγκεκριμένο στέλεχος (τύπο βακτηρίων). Το κύριο βιολογικό ερευνητικό πανεπιστήμιο ανακοίνωσε έναν διαγωνισμό: να βρεθεί ο μέγιστος αριθμός διαδοχικών δειγμάτων που μπορούν να αναλυθούν λαμβάνοντας υπόψη τον περιορισμό. Συγκεκριμένα: σε οποιοδήποτε συνεχές τμήμα της ακολουθίας, δεν πρέπει να υπάρχουν περισσότερα από K διαφορετικά στελέχη. Το εργαστήριό μας επιδιώκει να γίνει το καλύτερο στην πόλη. Για να κερδίσει στον διαγωνισμό, πρέπει να βρούμε ακριβώς ένα τέτοιο μέγιστο μήκος τμήματος που ικανοποιεί αυστηρή προϋπόθεση. Σας βασιζόμαστε, διότι σε περίπτωση νίκης, το εργαστήριο θα λάβει επιχορήγηση που θα ανοίξει νέους ορίζοντες για την έρευνά μας. Μορφή εισόδου Η πρώτη γραμμή περιέχει δύο αριθμούς: N — το μήκος της ακολουθίας δειγμάτων και K — ο περιορισμός στον αριθμό διαφορετικών στελεχών. Η δεύτερη γραμμή περιέχει N αριθμούς — τα στοιχεία της ακολουθίας. Μορφή εξόδου Το πρόγραμμα πρέπει να εμφανίσει τον αριθμό του μέγιστου μήκους τμήματος της ακολουθίας δειγμάτων. Παράδειγμα 1 Είσοδος [phone] Έξοδος 3
D. Κινέζικα πυροτεχνήματα Ο Βλαντιμίρ αγόρασε ένα σετ από 3 κινέζικα πυροτεχνήματα. Φαίνονται ακριβώς τα ίδια και ανακατεύονται σε ένα κουτί, αλλά σύμφωνα με τις οδηγίες, έχουν διαφορετική αξιοπιστία: 1. "Ελίτ" — ποσοστό ελαττωμάτων 10% (πιθανότητα επιτυχίας 0.9). 2. "Πρότυπο" — ποσοστό ελαττωμάτων 20% (πιθανότητα επιτυχίας 0.8). 3. "Οικονομικό" — ποσοστό ελαττωμάτων 40% (πιθανότητα επιτυχίας 0.6). Ο Βλαντιμίρ παίρνει τυχαία το πρώτο πυροτέχνημα, το ανάβει, και λειτουργεί επιτυχώς. Ευτυχισμένος, αποφασίζει να πυροδοτήσει τα υπόλοιπα δύο ένα μετά το άλλο. Ποια είναι η πιθανότητα και τα δύο δεύτερα και τρίτα πυροτεχνήματα να λειτουργήσουν επίσης — χωρίς ελάττωμα; Στρογγυλοποιήστε την απάντηση σε τρία δεκαδικά ψηφία.