С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 37
1

Динамическое программирование

25.02.2018, 21:30. Показов 3269. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
очень нужна реализация(завтра дедлайн)

Будем называть натуральное число трипростым, если в нем любые подряд идущие 3 цифры образуют трехзначное простое число.

Требуется найти количество Н-значных трипростых чисел.

Входной файл содержит натуральное число Н.

Выходной файлдолжен содержать количество Н-значных трипростых чисел, которое следует вывести по модулю 109+9.


Вход:
4
Выход:
204
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2018, 21:30
Ответы с готовыми решениями:

Динамическое программирование
Вот условия задачи. Я написал код. Но где-то ошибка. Не могу найти #include <iostream>...

Динамическое программирование
Столкнулся с такой задачей. Есть 6 фигурок площадью 3. Нужно узнать, сколькими способами можно...

Динамическое программирование
Помогите решить задачу! Я что-то особо не соображу... 1.Написать программу, реализующую действия:...

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

4
1682 / 1095 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
26.02.2018, 14:58 2
Когда-то давно кодил.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>
 
using namespace std;
 
const uint64_t MOD = 1e9 + 9;
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);
    uint64_t n; cin >> n;
    vector <bool> prime(1000, true);
    for (size_t i = 2; i < prime.size(); i++)
        for (size_t j = i * i; j < prime.size(); j += i)
            prime[j] = false;
    vector <uint64_t> primes;
    for (size_t i = 100; i < prime.size(); i++)
        if (prime[i])
            primes.push_back(i);
    vector < vector <uint64_t> > dp(n - 2, vector <uint64_t> (primes.size(), 0));
    vector < vector <size_t> > ind(100);
    for (size_t i = 0; i < primes.size(); i++) {
        ind[primes[i] % 100].push_back(i);
    }
    for (size_t i = 0; i < dp[0].size(); i++) dp[0][i] = 1;
    for (size_t i = 1; i < dp.size(); i++)
        for (size_t j = 0; j < dp[i].size(); j++)
            if (primes[j] / 10 > 9)
                for (auto& k: ind[primes[j] / 10]) {
                    dp[i][j] += dp[i - 1][k];
                    dp[i][j] %= MOD;
                }
    uint64_t ans = 0;
    for (size_t i = 0; i < dp.back().size(); i++)
        ans = (ans + dp.back()[i]) % MOD;
    cout << ans;
}
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 37
26.02.2018, 17:55  [ТС] 3
thanks so much) u really help. i kinda dont understant this theme properly)
0
1682 / 1095 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
26.02.2018, 18:26 4
Цитата Сообщение от tottukki Посмотреть сообщение
i kinda dont understant this theme properly)
Me too, and that's not joke, I can't solve very difficult problems on DP.
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 37
26.02.2018, 18:29  [ТС] 5
i guess this task was kinda easy for u then)
0
26.02.2018, 18:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2018, 18:29
Помогаю со студенческими работами здесь

Динамическое программирование
Задача: Есть n работников и n работ. Необходимо найти максимальную суммарную производительность....

Динамическое программирование
Не понимаю динамических структур, списков, работы с ними. Посоветуйте источник изучения. Что-то...

Динамическое программирование
Есть такая задача: Дана схема стены, необходимо проверить можно ли построить данную стену заданным...

Динамическое программирование
Помогите пожалуйста,кто может, со следующими задачами, так как в С++ слабо разбираюсь, а к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru