• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadania na gąsienicę?

Object Storage Arubacloud
0 głosów
499 wizyt
pytanie zadane 10 maja 2023 w C i C++ przez Dani Obywatel (1,450 p.)
Witam, czy macie jakieś fajne zadania na gąsienicę godne polecenia? Najlepiej jakby były z oi bądź oij
komentarz 15 maja 2023 przez reaktywny Nałogowiec (41,050 p.)
A gąsienica to ???
komentarz 15 maja 2023 przez Dani Obywatel (1,450 p.)
Larwa, bądź w tym kontekście jeden z algorytmów. Tutaj masz film, w którym jest rozwiązywane zadanie z użyciem gąsienicy : https://www.youtube.com/watch?v=TMgFEpTuBvQ

2 odpowiedzi

+2 głosów
odpowiedź 10 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
wybrane 10 maja 2023 przez Dani
 
Najlepsza
Najbardziej klasyczny przykład użycia gasienicy, to znajdź w ciągu, którego wszystkie liczby są nieujemne spójny fragment (może być też najdłuższy) o sumie równej x.

Zadania jakie ja pamietam na gąsienicę, to:

Lizak, 2 etap XVI OIJ: https://szkopul.edu.pl/problemset/problem/9y5Fywu8h7DyO89-gd5ifrju/site/?key=statement

Notowania akcji, 2 etap XIV OIJ: https://szkopul.edu.pl/problemset/problem/Vtr5pP-RRtjqnivWocv8xaad/site/?key=statement

O ile dobrze pamiętam, to też to: https://szkopul.edu.pl/problemset/problem/GE48t27fgAbn4WNGoGhVChb-/site/?key=statement

Na zdalnych warsztatach olimpijskich dla juniorów 2022, Adam Gąsienica Samek robił wykład o gąsienicy(jest na kanale OIJ na yt) i na sio2 są zadania z sprawdzarką: https://sio2.mimuw.edu.pl/c/zwo22/p/

Dołożyłbym jeszcze zadanie Zespoły z 2 etapu XV OIJ, ono nie jest na strikte gąsienicę, ale pomysł i tak fajny(a prosty): https://szkopul.edu.pl/problemset/problem/WsCEgGZvejeElRDr0xT7Nwwf/site/?key=statement

Dodam jeszcze, że gąsienica często występuje z różnymi strukturami danych np. utrzymującymi co jest w gąsienicy. Czasem jest to zwykła tablica, czy kilka zmiennych, ale czasem może to być np. set / multiset / mapa / kolejka monotonniczna itp.
komentarz 10 maja 2023 przez Dani Obywatel (1,450 p.)
Dziękuję bardzo (;
komentarz 10 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
Ogólnie jak masz jakieś pytania do zadań z OIJ, to śmiało pisz. Przerobiłem prawie wszystkie, więc będę mógł coś tam raczej pomóc.
komentarz 10 maja 2023 przez Dani Obywatel (1,450 p.)
edycja 10 maja 2023 przez Dani
#include <bits/stdc++.h>
// #define ll long long
using namespace std;
vector<int> a;
vector<int> zlicz;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    long long n;
    cin >> n;
    int maxi = 0;
    for(int i=0;i<n;++i){
        int x;
        cin >> x;
        a.push_back(x);
        maxi = max(maxi,x);
    }
    zlicz.resize(maxi+5,0);
    int l=0,r=0;
    int s=5e5+5;
    while(r < n){
        zlicz[a[r]] += 1;
        while(zlicz[a[r]] == 3){
            s = min(s,r - l + 1);
            zlicz[a[l]] -= 1;
            ++l;
        }
        ++r;
    }
    if(s == 5e5+5)
        cout << "NIE" << '\n';
    else
        cout << s << '\n';
    return 0;
}

Właśnie robię zadanie lizak, którego podesłałeś mi, fajne zadanko. Napisałem kodzik wchodzi na 80 pkt, jednak w niektórych testach pokazuje, że przekroczyłem pamięć. Wiesz może co to dokładnie znaczy i jaki może być powód? Wydaje mi się, że wszystkim zmienne ustawiłem właściwie pod względem pojemności. Z góry dziękuję Tobie bardzo!

komentarz 10 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
maxi może być nawet 10^9 o ile dobrze pamiętam, zmień na mapę / unordered mape
komentarz 11 maja 2023 przez Dani Obywatel (1,450 p.)
Zmieniłem na mapę i działa! Dzięki. Ale zastanawia mnie czm ten vector nie działa?
1
komentarz 11 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
element vectora ma powiedzmy, 4bajty pamięci pomnóż sobie 10^9 * 4, zamień na MB, i porównaj z limitem zadania.
+1 głos
odpowiedź 11 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
Trochę pomyślałem i przypomniałem sobie jeszcze zadania:

EJOI: http://ejoi.org/wp-content/uploads/2017/09/count.pdf

z OIa: Wilcze doły, temperatura
1
komentarz 15 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)

nie lepiej to napisac np. tak:

for (int i = 0; i < n-2; ++i)
{
    if (tab[i+2] - tab[i] <= 1)
   {
        wyn++;
        l += 2;
   }
}
komentarz 16 maja 2023 przez Dani Obywatel (1,450 p.)
W sumie to można też tak, ale chciałem spróbować gąsienicą
komentarz 17 maja 2023 przez Dani Obywatel (1,450 p.)

@pasjonat_algorytmiki, Cześć, czy dałbyś jakąś podpowiedź do rozwiązania zadania z ejoi "count" za pomocą gąsienicy?

1
komentarz 17 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
Sortujesz liczby i trzymasz dwa wskaźniki (nie koniecznie jak w gąsienicy)
komentarz 19 maja 2023 przez Dani Obywatel (1,450 p.)
Myślałem nad daniem wskaźników na początku i końcu, ale nie mogę wymyśleć warunków. Czy powiedziałbyś w jaki sposób trzymać te dwa wskaźniki?

Podobne pytania

+2 głosów
2 odpowiedzi 1,156 wizyt
pytanie zadane 8 lutego 2023 w C i C++ przez polandonion Mądrala (7,040 p.)
0 głosów
2 odpowiedzi 765 wizyt
0 głosów
2 odpowiedzi 289 wizyt
pytanie zadane 23 listopada 2016 w Algorytmy przez Piotr Ponikwia Początkujący (330 p.)

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...