Проблема заключается в следующем (я получил это от 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