Sobes.tech

Data Analyst

Il était une fois, un stagiaire antifraude de Yandex Ads a rejoint l'équipe. Pendant que le groupe de fraude opérait, simulant du trafic sur leurs sites via des visites de bots, et recevant ainsi de l'argent pour les impressions publicitaires par des bots, la tâche du stagiaire était de trouver tous ces sites frauduleux avec du trafic faux. Fait intéressant, tout le trafic sur ces sites était généré avec substitution d'IP, donnant l'impression qu'un bot visitait depuis la ville A, mais en réalité, l'appareil était dans un endroit complètement différent. Beaucoup de temps a passé, et le stagiaire a essayé de couvrir tout ce groupe de fraude, réussissant même à attraper certains sites par parties. Mais tout le réseau n'a pas pu être attrapé. Après un certain temps, il a remarqué une nouvelle: dans la ville A, le 02.08.2025, il n'y avait pas du tout d'internet mobile. Cependant, l'internet câblé (domicile) continuait de fonctionner. Étant donné cela, comment le stagiaire peut-il trouver tous les sites faux? Vous avez des logs de sites au format tableau pour la période du 30.07.2025 au 10.08.2025: timestamp | site_id | city_id Chaque enregistrement correspond à une visite d'un site par un appareil. Il est connu que le trafic de bots change beaucoup moins que le trafic réel par jour. Votre tâche est de trouver tous les sites dont le trafic était principalement composé de bots qui ont falsifié leur région pour la ville A. Note La table contenant les données s'appelle logs. Exemple d'un enregistrement de table: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A

Intern
Яндекс
2

Afanasy travaillait depuis 2 semaines à écrire un code capable de résoudre des mots croisés japonais avec support pour neuf couleurs, lorsqu’à une réunion d’équipe, un collègue lui a dit qu’il pouvait gérer la tâche plus rapidement lui-même, et qu’il n’y avait plus de sens dans le programme. Mais Afanasy, étant optimiste, a décidé de continuer à pratiquer cette tâche et de faire ce qui suit — estimer à quel point son collègue gère bien les mots croisés. Pour cette évaluation, il a choisi un analogue de la métrique IoU — le calcul sera similaire à l’Intersection Over Union classique, mais par couleurs. Cela fonctionne comme suit : chaque cellule correspondante dans l’original et la solution par couleur ajoute 1 au numérateur, et au dénominateur, 1 est ajouté pour chaque cellule dans l’original et dans la solution (pour les cellules correspondantes, seule une est ajoutée). Ensuite, une moyenne est effectuée sur le nombre de couleurs dans l’image originale, arrondie à deux décimales ; zéro n’est pas considéré comme une couleur, donc la métrique ne doit pas être calculée pour les cellules de cette couleur. L’entrée commence par une ligne contenant le nombre de lignes n et de colonnes m (dans cet ordre). Ensuite, suivent 2n lignes, contenant m nombres séparés par des espaces — les premières n lignes concernent le mot croisé soumis, et les n suivantes — l’image originale. Il est supposé que chaque ligne, à partir de la deuxième, contient exactement m nombres. En réponse, affichez un nombre arrondi à deux décimales, comme dans les exemples. Voici quelques exemples : 1. Premier exemple [phone] -> 1.0 Explication : la contribution des cellules correspondantes et non correspondantes (1.0 + 1.0 + 1.0 + 1.0) / le nombre de couleurs (4) 2. Deuxième exemple [phone] -> 0.08 Explication : la contribution des cellules correspondantes et non correspondantes (0.25 + 0.0 + 0.0) / le nombre de couleurs (3) ; les zéros ne sont pas comptés, ni comme cellules dans les représentations ni dans le nombre de couleurs. 3. Troisième exemple [phone] où l’image envoyée commence [phone] — où l’image envoyée se termine 0 1 2 — où l’image originale commence [phone] -> 0.47 Explication : la contribution des cellules correspondantes et non correspondantes (0.4 + 0.5 + 0.5) / le nombre de couleurs (3) ; les zéros ne sont pas comptés comme cellules dans les représentations ni dans le nombre de couleurs. 4. Quatrième exemple [phone] -> 0.0 Explication : la contribution des cellules correspondantes et non correspondantes (0.0) / le nombre de couleurs (1) ; les zéros ne sont pas comptés comme cellules dans les représentations ni dans le nombre de couleurs.

Intern
Яндекс
1

B. Préfixes et Suffixes Étant donné un tableau trié de n zéros. À chaque étape, vous pouvez choisir un nombre arbitraire des premiers ou derniers éléments de ce tableau, et ajouter un à tous les éléments sélectionnés. Est-il possible d'atteindre l'état spécifié du tableau après un certain nombre de telles opérations? Format d'entrée La première ligne contient un entier 1 ≤ n ≤ 100000 — le nombre d'éléments dans le tableau. La deuxième ligne contient n nombres entiers non négatifs a1, a2, ..., an séparés par des espaces, où ai ≤ 10^18 — les éléments finaux souhaités. Format de sortie Imprimez "YES" si un tel état est réalisable, et "NO" sinon. Exemple Entrée [phone] Sortie YES Note Les états [phone] peuvent être atteints comme suit: ajouter un aux trois premiers éléments, ce qui donne [phone] ajouter un aux quatre derniers éléments, ce qui donne [phone] ajouter un à l'élément final, ce qui donne [phone]

Intern
Яндекс
0

D. Feux d'artifice chinois Vladimir a acheté un ensemble de 3 feux d'artifice chinois. Ils ont l'air exactement identiques et sont mélangés dans une boîte, mais selon les instructions, ils ont des fiabilités différentes : 1. "Élite" — taux de défauts de 10% (probabilité de succès 0.9). 2. "Standard" — taux de défauts de 20% (probabilité de succès 0.8). 3. "Économique" — taux de défauts de 40% (probabilité de succès 0.6). Vladimir prend au hasard le premier feu d'artifice, l'allume, et il fonctionne avec succès. Heureux, Vladimir décide de lancer les deux autres feux d'artifice l'un après l'autre. Quelle est la probabilité que le deuxième et le troisième feu d'artifice fonctionnent également — sans défaut ? Arrondissez la réponse à trois décimales. Format de sortie Un nombre décimal arrondi à 3 décimales. Par exemple, 0.98 ou 0.999

Intern
Яндекс
0

La solution proposée fonctionnerait-elle pour SQLite?

Intern
Яндекс
0

A. Le Meilleur Laboratoire Scientifique Dans une certaine ville, plusieurs laboratoires scientifiques étudient des cultures bactériennes. Ils étudient une séquence d'échantillons, où chaque échantillon appartient à une souche spécifique (type de bactéries). L'université principale de recherche biologique a annoncé un concours : trouver le nombre maximum d'échantillons consécutifs pouvant être analysés en tenant compte de la restriction. Plus précisément : dans tout segment continu de la séquence, il ne doit y avoir pas plus de K souches différentes. Notre laboratoire aspire à devenir le meilleur de la ville. Pour gagner le concours, nous devons trouver exactement une telle longueur maximale de segment qui satisfait la condition stricte. Nous comptons sur vous, car en cas de victoire, le laboratoire recevra une subvention qui ouvrira de nouveaux horizons pour nos recherches. Format d'entrée La première ligne contient deux nombres : N — la longueur de la séquence d'échantillons et K — la restriction sur le nombre de souches différentes. La deuxième ligne contient N nombres — les éléments de la séquence. Format de sortie Le programme doit afficher le nombre de la longueur maximale d'un segment de la séquence d'échantillons. Exemple 1 Entrée [phone] Sortie 3

Intern
Яндекс
0

D. Valera et les distributeurs automatiques Dans un centre d'affaires, il y a 10 distributeurs automatiques extérieurement identiques avec des chocolats. Chaque distributeur donne un chocolat avec sa propre probabilité fixe, qui est initialement inconnue et peut varier entre les machines. Valera veut obtenir autant de chocolats que possible, mais son budget est limité à 200 tugrik. Chaque tentative d'achat (utilisation de n'importe quel distributeur une fois) coûte exactement 1 tugrik — le paiement est effectué indépendamment du fait que le distributeur donne ou non un chocolat. Valera, essayant d'apprendre les probabilités des machines, a rencontré le garde de sécurité Alexei, qui lui a partagé une information importante. Le garde lui a dit que 2/5 des machines ont des probabilités tirées d'une distribution uniforme sur [0.2, 0.3], 2/5 de [0.4, 0.5], et le reste de [0.85, 1]. Votre tâche est de concevoir un algorithme qui aide Valera à obtenir autant de chocolats que possible. Protocole d'interaction Ceci est une tâche interactive. Votre programme doit d'abord afficher le numéro de la machine — un nombre de 0 à 9. Ensuite, le système (interacteur) renverra le résultat : 1 si un chocolat a été distribué, ou 0 si non. Votre programme peut lire cette valeur (par exemple via input()) pour l'utiliser dans des calculs ultérieurs. Système de scoring Dans chaque test, le pourcentage de tentatives réussies pour obtenir des chocolats sera évalué. Si ce pourcentage dépasse 75%, le test est considéré comme réussi. Note Il est recommandé d'utiliser Python 3.8 (Handbook DS) comme compilateur.

Intern
Яндекс
0
/15