ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1513. Басня о лимоне

WA13
Послано Milica 22 дек 2023 16:39
Can someone tell me what is 13.test case? Also, is the only way to solve this problem using long arithmetic?
Re: WA13
Послано fxubp 9 янв 2024 04:47
Да очень круто: https://forum.tatysite.net/showthread.php?t=13334 .
Milica писал(a) 22 декабря 2023 16:39
Can someone tell me what is 13.test case? Also, is the only way to solve this problem using long arithmetic?
Re: WA13
Послано Milica 10 янв 2024 16:06
I got time exceeded error. Can somebody tell what is test case? Or tell me how can I optimize my code? I even found to solutions using dp.

void lemontale(int n,int k,vector<vector<BigInt>> &mem){
    BigInt big_n = BigInt(n);
    BigInt big_k = BigInt(k);
    BigInt dva_big = BigInt(2ull);
    if (mem[n-1][k] == BigInt()){
        if (n<0)
            return ;
        else if (k==0 && n==1){
            mem[n-1][k] = BigInt(1);

            }
        else if (k==0){
            lemontale(n-1,k_start,mem);
            mem[n-1][k] = mem[n-2][k_start];

            }
        else if (n<=k){
            BigInt rez = dva_big^big_n;

            mem[n-1][k] = rez;
            }
        else{

                lemontale(n-1,k_start,mem);
                lemontale(n-1,k-1,mem);
                mem[n-1][k] = mem[n-2][k-1]+mem[n-2][k_start];
            }
    }

}
void lemontale2(int n,int k,BigInt* mem){
    BigInt dva_big = BigInt(2ull);

    if (mem[n-1]==BigInt()){
        if (n<=k)
            mem[n-1] = dva_big^BigInt(n);
        else
            for(int i=0;i<=k;i++){
                if (n-i-1 != 0){
                    lemontale2(n-i-1,k,mem);
                    mem[n-1]+=mem[n-i-2];
                }
                else{
                    mem[n-1]+=1;
                }
            }
    }

}

Edited by author 10.01.2024 16:08

Edited by author 10.01.2024 16:09

Edited by author 10.01.2024 16:09

Edited by author 10.01.2024 16:09