Алгоритм подсчета количества подгрид, которые содержат все буквыC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Алгоритм подсчета количества подгрид, которые содержат все буквы

Сообщение Anonymous »

Проблема заключается в следующем (я получил это от https://cses.fi/problemset/task/3415/):

Вам дают сетку букв. Ваша задача состоит в том, чтобы вычислить количество квадратных подсчетов, которые содержат все буквы. O (n 2 < /sup>), где n-размер сетки, но она работает слишком медленно.
Есть идеи о том, как заставить это запустить, по крайней мере, вдвое быстрее?#include
#include

using namespace std;

int n, k;
const int MAXN = 3001;

int grid[MAXN][MAXN];

int ans[MAXN][MAXN];

int dp[MAXN];
int tmp[MAXN];

long long fin;

int main() {

cin >> n >> k;

for (int i=1; i tmp;
tmp -='A';
grid[j] = tmp;
}
}

for (int l=0; l

Подробнее здесь: https://stackoverflow.com/questions/797 ... ll-letters
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»