Ostatnio brałam udział w konkursie kodującej i nie mógł dowiedzieć się this question. Oświadczenie Problem jest następujący3x3 Subrectangles malowane siatki
Masz
10^9 * 10^9
siatkę białych komórek10^5
z nich pomalowane na czarno. Dla każdej liczby całkowitejj
z0
do9
, wypisz liczbę podwzorów trójkątnych 3x3, które zawierają dokładnie czarne komórki o rozmiarzej
. Limit czasu wynosi 3 sekundy, a limit pamięci to 256 MB.
miałem mgliste pojęcie, które brzmi mniej więcej tak: iterację czarnych komórek i zbadać komórki w prostokącie 5x5 skupione na swojej czarnej komórce, a następnie policzyć prostokąty 3x3 (które moim zdaniem byłoby rozwiązanie O(n)
gdzie n
to liczba czarnych komórek, ale nie jestem pewna, jak ją wdrożyć, ani jak poradzić sobie z podwójnym liczeniem.
Strona ma artykuł na to pytanie, ale jest w języku japońskim, a Google translate ma był bezużyteczny
Czy obliczenie na końcu nie powinno być (H-2) * (W-2) (więc 3 * 3 dałoby odpowiedź 1)? –
Jestem prawie pewien, że to (H-2) * (W-2), tak – Captain