Data Analyst
Имало едно време един стажант по борба с измамите в Yandex Ads, който се присъедини към екипа. Докато групата за измами беше активна, симулирайки трафик на своите сайтове чрез бот посещения, и по този начин получаваше пари за импресии на реклами от ботове, задачата на стажанта беше да намери всички такива измамни сайтове с фалшив трафик. Интересното е, че целият трафик на тези сайтове беше генериран с IP замяна, което караше да изглежда, че бот посещава сайта от град А, но в действителност устройството беше на съвсем друго място. Мина много време, и стажантът се опита да обхване цялата тази група за измами, дори успя да хване някои сайтове частично. Но цялата мрежа не можа да бъде хваната. След известно време той забеляза новина: в град А, на 02.08.2025, мобилният интернет беше напълно изчезнал. Въпреки това, кабелният (домашният) интернет продължаваше да работи. Като се има предвид това, как може стажантът да намери всички фалшиви сайтове? Имаш логове на сайтове във формат таблица за периода от 30.07.2025 до 10.08.2025: timestamp | site_id | city_id Всеки запис съответства на посещение на сайт от едно устройство. Знае се, че трафикът на ботове се променя значително по-малко от реалния трафик на ден. Задачата ви е да намерите всички сайтове, чиито трафик беше предимно съставен от ботове, които фалшифицираха региона си към град А. Забележка Таблицата, съдържаща данните, се нарича logs. Пример за запис в таблицата: timestamp | site_id | city_id [phone]:13:53 | 6e84d9b71ca44aea | A
Афанасий вече две седмици работи върху писането на код, който може да решава японски кръстословици с поддръжка на девет цвята, когато на следващата среща колега му съобщи, че може сам да се справи с задачата по-бързо, и в програмата вече няма смисъл. Но Афанасий, като оптимист, реши да отдели още време за тази задача и да направи следното — да изчисли колко добре колегата се справя с кръстословиците. За тази оценка той избра някакъв аналог на метриката 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). Владимир случайно взема първия фойерверк, запалва го, и той успешно работи. Щастлив, Владимир решава да пусне останалите два един след друг. Каква е вероятността и двата втори и трети фойерверки също да работят успешно — без дефект? Закръглете отговора до три десетични знака.