Темы
    Информатика(2656 задач)
---> 6 задач <---
Страница: 1 2 >> Отображать по:
#113577
  
Темы: [Формула]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 5, Охотник в ловушке ]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Случилось ужасное! Отважный хорватский охотник попал в его собственную ловушку. В погоне за ценной добычей он помчался вперед и оказался пойман. Чтобы выбраться наружу, он должен решить следующую задачу (а так как умом он не блещет, вам придется ему помочь):

Вам даны 3 целых числа L, D и X. Определите минимальное такое число N , для которого L N D и сумма цифр которого равна X . Также определите максимальное M для которого L M D и сумма цифр которого равна X . Гарантируется, что такие числа всегда существуют.

Входные данные

В первое строке содержится одно целое число L ( 1 ≤ L ≤ 10000 ). Во второй строке содержится одно целое число D ( 1 ≤ L D ≤ 10000 ). В третьей строке содержится одно целое число X ( 1 ≤ X ≤ 36 ).

Выходные данные

В первой строке выведите одно целое число N из задачи. Во второй строке выведите одно целое число M из задачи.

Примеры
Входные данные
1
100
4
Выходные данные
4
40
Входные данные
100
500
12
Выходные данные
129
480
Входные данные
1
10000
1
Выходные данные
1
10000
#113578
  
Темы: [Строки]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 5, Перо и страстная любовь ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Так же, как и вы, Перо страстно любит задачи. Последняя задача, которая его заинтересовала – определять, является ли слово мультиграммой.

Мультиграмма – это слово, которое состоит из конкатенации двух и более анаграмм. Первая из этих анаграмм называется корнем мультиграммы. Например, слово bbabab – мультиграмма с корнем bba, потому что она состоит из анаграмм bba и bab.

Помогите Перо определять, является ли данное ему слово мультиграммой, и если да, определить корень. Если возможных ответов несколько, выведите кратчайший.

Входные данные

Единственная строка содержит слово, состоящее не более, чем из 10 5 строчных букв латинского алфавита.

Выходные данные

Если данное слово – мультиграмма, выведите кратчайший из её корней. Иначе выведите -1.

Примечание

Решения, работающие когда длина строки не превосходит 500, будут оцениваться в 20 баллов.

Решения, работающие когда длина строки не превосходит 5000, будут оцениваться в 40 баллов.

Примеры
Входные данные
aaaa
Выходные данные
a
Входные данные
ab
Выходные данные
-1
Входные данные
bbabab
Выходные данные
bba
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Перика начала играть на пианино. Оно у нее особенное - на нем есть N клавиш, и на каждой написано число a i . В процессе игры Перика одновременно нажимает K клавиш, но так как пианино особенное, звук издаст только клавиша с наибольшим числом среди нажатых. Перика собирается нажать каждую из возможных комбинаций из K клавиш и хочет знать сумму чисел на тех клавишах, которые при этом издадут звуки.

Помогите Перике и ответьте на ее вопрос. Так как ответ может быть очень большим, выведите его по модулю 1 000 000 007.

Входные данные

В первой строке содержатся два целых числа N и K ( 1 ≤ N ≤ 100000 , 1 ≤ K ≤ 50 ). Во второй строке содержатся N целых чисел a i ( 0 ≤ a i ≤ 10 9 ) - числа на клавишах пианино.

Выходные данные

В единственной строке выведите одно целое число - ответ на вопрос Перики по модулю 1000000007.

Примечание

Решения, работающие при 1 ≤ N ≤ 1000 , будут оцениваться в 40 баллов.

Примеры
Входные данные
5 3
2 4 2 3 4
Выходные данные
39
Входные данные
5 1
1 0 1 1 1
Выходные данные
4
Входные данные
5 2
3 3 4 0 0
Выходные данные
31
#113580
  
Темы: [Хеш]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 5, Маленький Матеж и большие проблемы ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
512 megabytes

У маленького Матежа возникла проблема с решением следующей задачи.

У него есть множество слов, содержащее N слов. Ему пришло Q запросов, являющихся шаблонами. Шаблон состоит из строчных латинских букв и символа '*'.

Требуется узнать, сколько слов из множества могут совпасть с шаблоном, если вместо '*' подставить любое (возможно, пустое) множество букв.

Входные данные

В первой строке содержатся N и Q ( 1 ≤ N , Q ≤ 10 5 ). В последующих N строках содержатся строки из множества. В последующих Q строках содержатся шаблоны. Входной файл содержит не более трех миллионов символов.

Выходные данные

Выведите Q строк: в каждой ответ для соответствующего шаблона.

Система оценки

40 баллов: 1 ≤ N , Q ≤ 1000

Примеры
Входные данные
3 3
aaa
abc
aba
a*a
aaa*
*aaa
Выходные данные
2
1
1
Входные данные
5 3
eedecc
ebdecb
eaba
ebcddc
eb
e*
*dca
e*c
Выходные данные
5
0
2
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Вам дан массив целых чисел длины N . Пусть s 1 , s 2 , ... , s q - массив его непустых подпоследовательностей, отсортированный в лексикографическом порядке.

Подпоследовательностью массива называется массив, полученным путем вычеркивания нескольких (возможно, 0) элементов из изначального массива. Заметьте, что некоторые подпоследовательности могут быть одинаковыми, поэтому q = 2 N - 1 .

Массив A лексикографически меньше массива B , если A i < B i , где i - первая позиция, в которой массивы различаются, или если A - строгий префикс B .

Определим хеш массива s , состоящего из элементов v 1 , v 2 , ... , v p , как: h ( s )  =  ( v 1 · B p - 1 + v 2 · B p - 2 + ... + v p - 1 · B + v p ) mod M , где B и M - данные числа.

Посчитайте h ( s 1 ) , h ( s 2 ) , ... , h ( s K ) для данного K .

Входные данные

В первой строке содержатся числа N , K , B , M ( 1 ≤ N ≤ 100000 , 1 ≤ K ≤ 100000 , 1 ≤ B , M ≤ 1000000 ).

Во второй строке содержится N чисел a 1 , a 2 , a 3 , ... , a N ( 1 ≤ a i ≤ 100000 ).

Гарантируется, что во всех тестах K ≤ 2 N - 1 .

Выходные данные

Выведите K строк, j -я строка должна содержать h ( s j ) и длину s j .

Примечание

Решения, работающие при 1 ≤ a 1 , a 2 , ..., a N ≤ 30 , будут оцениваться в 60 баллов.

Примеры
Входные данные
2 3 1 5
1 2
Выходные данные
1 1
3 2
2 1
Входные данные
3 4 2 3
1 3 1
Выходные данные
1 1
1 1
0 2
2 2
Входные данные
5 6 23 1000
1 2 4 2 3
Выходные данные
1 1
25 2
25 2
577 3
274 4
578 3

Страница: 1 2 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест