Я пытаюсь решить проблему http://www.spoj.com/problems/CPCRC1C/ с использованием подхода обсуждается в
http://goo.gl/YzEwXRSPOJ Сумма цифр
Это моя реализация алгоритма выше
void solve(int i, bool lo, bool hi, char *A, char *B, int n, unsigned long long &sum,int numSum) {
if (i == n) {
sum+=numSum;
return;
}
char d = hi ? '0' : A[i];
char end = lo ? '9' : B[i];
for (; d <= end; d++) {
int nnumSum=numSum ;
nnumSum += (d-48);
// cout<<"\nd="<<d<<" sum="<<nnumSum;
solve(i + 1, lo || d < B[i], hi || d > A[i], A, B, n, sum,nnumSum);
}
}
Можете ли вы предложить мне, как я может оптимизировать алгоритм с помощью memoization?
Большое спасибо за ваше время
Как вы думаете, все читатели будут следовать вашей ссылке, чтобы понять Ваш вопрос? Лучше дайте минимальный код и задайте конкретный вопрос. –
С TLE вы еще не играете '3-й класс' или' довольно хорошо'. – greybeard