Sobes.tech

Data Analyst

C'era una volta, uno stagista antifrode di Yandex Ads si unì al team. Mentre il gruppo di frodi operava, simulando traffico sui loro siti tramite visite di bot, e riceveva così denaro per impressioni pubblicitarie da parte di bot, il compito dello stagista era trovare tutti quei siti fraudolenti con traffico falso. Curiosamente, tutto il traffico su questi siti veniva generato con sostituzione di IP, facendo sembrare che un bot visitasse da città A, ma in realtà, il dispositivo si trovava in un luogo completamente diverso. Passato molto tempo, e lo stagista cercò di coprire tutto questo gruppo di frodi, riuscendo anche a catturare alcuni siti parzialmente. Ma l'intera rete non poté essere catturata. Dopo un po', notò una notizia: in città A, il 02.08.2025, non c'era affatto internet mobile. Tuttavia, internet cablato (domestico) continuava a funzionare. Dato ciò, come può lo stagista trovare tutti i siti falsi? Hai i log dei siti in formato tabella per il periodo dal 30.07.2025 al 10.08.2025: timestamp | site_id | city_id Ogni record corrisponde a una visita a un sito da parte di un dispositivo. Si sa che il traffico di bot cambia molto meno rispetto al traffico reale per giorno. Il tuo compito è trovare tutti i siti il cui traffico consisteva principalmente di bot che falsificavano la loro regione in città A. Nota La tabella contenente i dati si chiama logs. Esempio di record di tabella: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A

Intern
Яндекс
1

Afanasy aveva lavorato per 2 settimane alla scrittura di un codice in grado di risolvere cruciverba giapponesi con supporto per nove colori, quando durante una riunione di team, un collega gli ha detto che lui stesso poteva gestire il compito più velocemente, e il programma non aveva più senso. Ma Afanasy, essendo ottimista, ha deciso di continuare a praticare questo compito e fare quanto segue — stimare quanto bene il suo collega gestisce i cruciverba. Per questa valutazione, ha scelto un analogo della metrica IoU — il calcolo sarà simile al classico Intersection Over Union, ma per colori. Funziona così: ogni cella corrispondente nell'originale e nella soluzione per colore aggiunge 1 al numeratore, e al denominatore si aggiunge 1 per ogni cella nell'originale e nella soluzione (per le celle corrispondenti, si aggiunge solo una). Successivamente, si effettua una media sul numero di colori nell'immagine originale, arrotondata a due decimali; lo zero non è considerato un colore, quindi la metrica non deve essere calcolata per le celle di questo colore. L'input inizia con una riga contenente il numero di righe n e colonne m (in quest'ordine). Poi seguono 2n righe, contenenti m numeri separati da spazi — le prime n righe si riferiscono al cruciverba inviato, e le successive n — all'immagine originale. Si assume che ogni riga, a partire dalla seconda, contenga esattamente m numeri. Come risposta, stampare un numero arrotondato a due decimali, come negli esempi. Ecco alcuni esempi: 1. Primo esempio [phone] -> 1.0 Spiegazione: il contributo delle celle corrispondenti e non corrispondenti (1.0 + 1.0 + 1.0 + 1.0) / numero di colori (4) 2. Secondo esempio [phone] -> 0.08 Spiegazione: il contributo delle celle corrispondenti e non corrispondenti (0.25 + 0.0 + 0.0) / numero di colori (3); gli zeri non vengono considerati, né come celle nelle rappresentazioni né nel numero di colori. 3. Terzo esempio [phone] dove l'immagine inviata inizia [phone] — dove termina l'immagine inviata 0 1 2 — dove inizia l'immagine originale [phone] -> 0.47 Spiegazione: il contributo delle celle corrispondenti e non corrispondenti (0.4 + 0.5 + 0.5) / numero di colori (3); gli zeri non vengono considerati né come celle nelle rappresentazioni né nel numero di colori. 4. Quarto esempio [phone] -> 0.0 Spiegazione: il contributo delle celle corrispondenti e non corrispondenti (0.0) / numero di colori (1); gli zeri non vengono considerati né come celle nelle rappresentazioni né nel numero di colori.

Intern
Яндекс
1

B. Prefissi e Suffixes Dato un array ordinato di n zeri. Ad ogni passo, puoi scegliere un numero arbitrario dei primi o ultimi elementi di questo array, e aggiungere uno a tutti gli elementi selezionati. È possibile raggiungere lo stato specificato dell'array dopo un certo numero di tali operazioni? Formato di input La prima riga contiene un intero 1 ≤ n ≤ 100000 — il numero di elementi nell'array. La seconda riga contiene n numeri interi non negativi a1, a2, ..., an separati da spazi, dove ai ≤ 10^18 — gli elementi finali desiderati. Formato di output Stampa "YES" se tale stato è raggiungibile, e "NO" se non lo è. Esempio Input [phone] Output YES Nota Gli stati [phone] possono essere raggiunti come segue: aggiungi uno ai primi tre elementi, ottenendo [phone] aggiungi uno agli ultimi quattro elementi, ottenendo [phone] aggiungi uno all'ultimo elemento, ottenendo [phone]

Intern
Яндекс
0

D. Fuochi d'artificio cinesi Vladimir ha acquistato un set di 3 fuochi d'artificio cinesi. Sono esattamente uguali e sono mescolati in una scatola, ma secondo le istruzioni, hanno affidabilità diverse: 1. "Elite" — tasso di difetto del 10% (probabilità di successo 0.9). 2. "Standard" — tasso di difetto del 20% (probabilità di successo 0.8). 3. "Economy" — tasso di difetto del 40% (probabilità di successo 0.6). Vladimir prende casualmente il primo fuoco d'artificio, lo accende, e funziona con successo. Felice, Vladimir decide di lanciare gli altri due fuochi uno dopo l'altro. Qual è la probabilità che anche il secondo e il terzo fuoco funzionino con successo — senza difetti? Arrotonda la risposta a tre decimali.

Intern
Яндекс
0

La soluzione proposta funzionerebbe con SQLite?

Intern
Яндекс
0

A. Il Miglior Laboratorio Scientifico In una certa città, diversi laboratori scientifici si occupano di studiare colture batteriche. Esaminano una sequenza di campioni, dove ogni campione appartiene a un ceppo specifico (tipo di batteri). L'università principale di ricerca biologica ha annunciato un concorso: trovare il massimo numero di campioni consecutivi che possono essere analizzati considerando la restrizione. In particolare: in qualsiasi segmento continuo della sequenza, non devono esserci più di K ceppi diversi. Il nostro laboratorio aspira a diventare il migliore in città. Per vincere il concorso, dobbiamo trovare esattamente questa lunghezza massima di segmento che soddisfa la condizione rigorosa. Contiamo su di te, perché in caso di vittoria, il laboratorio riceverà un finanziamento che aprirà nuovi orizzonti per le nostre ricerche. Formato di input La prima riga contiene due numeri: N — la lunghezza della sequenza di campioni e K — il limite sul numero di ceppi diversi. La seconda riga contiene N numeri — gli elementi della sequenza. Formato di output Il programma deve stampare il numero della lunghezza massima di un segmento della sequenza di campioni. Esempio 1 Input [phone] Output 3

Intern
Яндекс
0

D. Fuochi d'artificio cinesi Vladimir ha acquistato un set di 3 fuochi d'artificio cinesi. Sono esattamente uguali e sono mescolati in una scatola, ma secondo le istruzioni, hanno affidabilità diverse: 1. "Elite" — tasso di difetto del 10% (probabilità di successo 0.9). 2. "Standard" — tasso di difetto del 20% (probabilità di successo 0.8). 3. "Economy" — tasso di difetto del 40% (probabilità di successo 0.6). Vladimir prende casualmente il primo fuoco d'artificio, lo accende, e funziona con successo. Felice, Vladimir decide di lanciare gli altri due fuochi uno dopo l'altro. Qual è la probabilità che anche il secondo e il terzo fuoco funzionino con successo — senza difetti? Arrotonda la risposta a tre decimali.

Intern
Яндекс
0
/15