Թրեյլերների ընտրություն․ ամենամոտ տրամադրության որոնում
Սթրիմինգային հավելվածը պետք է յուրաքանչյուր օգտատիրոջ համար ընտրի թրեյլերի տրամադրությունը՝ funny
(զվարճալի), թե serious
(լուրջ)։ Այն հաշվի է առնում, թե որքան երկար են մարդիկ դիտում (րոպեներով), որքան հաճախ են վերանայում, ինչ ժանր են նախընտրում և ինչ սարք են օգտագործում։ Սակայն դիտման տևողությունը և վերանայումների քանակը տարբեր սանդղակների վրա են, իսկ ժանրերն ու սարքերը տեքստային տվյալներ են։ Ուստի, նախքան ամենամոտ գոյություն ունեցող օրինակն ընտրելը, հավելվածին անհրաժեշտ է այս ամենը համեմատելու արդար եղանակ։

Ձեզանից պահանջվում է կարդալ ժանրերի և սարքերի բառարանները, դիտումների նախնական հավաքածուն, այնուհետև դասակարգել նոր գրառումները՝ օգտագործելով 1-NN (1-ամենամոտ հարևան) ալգորիթմը։ Օգտագործեք միայն նախնական գրառումների վիճակագրությունը՝ երկու թվային հատկանիշները նույն սանդղակի բերելու համար՝ ստանդարտացնելով դրանք (z-score-ի միջոցով)։ Երկու կատեգորիկ հատկանիշները, համաձայն տրված բառարանների, վերածեք one-hot կոդավորման։ Այնուհետև միացրեք բոլոր հատկանիշները և Էվկլիդյան հեռավորությամբ ընտրեք միակ ամենամոտ հարևանին։ Եթե մի քանի հարևաններ գտնվում են նույն հեռավորության վրա, տպեք այբբենական կարգով ամենափոքր պիտակը։ Բառարանում չգտնված թոքենները տվյալ դաշտի համար ակտիվ բիթ չեն ավելացնում։
Մուտքի առաջին տողում տրված է v1
ամբողջ թիվը, որին հաջորդող տողում տրված են v1
թոքեններ, որոնք կազմում են ժանրերի բառարանը։ Հաջորդ տողում տրված է v2
ամբողջ թիվը, որին հաջորդող տողում տրված են v2
թոքեններ, որոնք կազմում են սարքերի բառարանը։
Դրան հաջորդող տողում տրված է n
ամբողջ թիվը, որը ցույց է տալիս նախնական գրառումների քանակը։ Հաջորդ n
տողերից յուրաքանչյուրը պարունակում է երկու իրական թիվ և երեք թոքեն՝ watch_time
, rewatch_count
, genre
, device
, label
։
Հաջորդ տողում տրված է q
ամբողջ թիվը։ Հաջորդ q
տողերից յուրաքանչյուրը պարունակում է դասակարգման ենթակա գրառում՝ watch_time
, rewatch_count
, genre
, device
։
Ծրագիրը պետք է տպի q
տող։ Յուրաքանչյուր տող պետք է պարունակի կանխատեսված պիտակը՝ funny
կամ serious
։
Մուտք | Ելք |
---|---|
3 | funny |
2 | funny |
3 | funny |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB