Temat: Pozbierane komentarze

No dobrze, jak ktoś ma zacząć coś tu pisać, to kto, jak nie ja :P?
Nowy harmonogram: Co do niego, to wydaje mi się, że zdał egzamin. W poprzednich dwóch edycjach 6ta runda szła ludziom istotnie gorzej niż wcześniejsze i dwukrotnie próg na TOP20 był około 10-15 pkt niższy niż to szacowałem po rankingu 5tej rundy, a teraz wydaje się, że problem zbyt dużej liczby zadań na krótki okres czasu zniknął.
Zadania rozproszone: Też wyszło bardzo fajnie. Po rundzie próbnej i szerzącym się błędom w stylu "brak long longów w wyliczaniu indeksów" wśród wielu osób oraz cięższym testowaniu wpisanym w naturę takich zadań, obawiałem się, że jej wyniki będą trochę randomowe i wprowadzą dziwaczne fluktuacje do rankingu, ale tak się nie stało. No i całkiem trafna wydaje mi się uwaga Smu z innego tematu, że dziwne jest, że dane wejściowe rosły mniej więcej tak, jak liczba kompów - sprawia to efekt, jakby wszystkie testy poza jednym były maxtestami.
Dobór zadań: Prawie każde z zadań z osobna wydało mi się ciekawe (wyłączam LUS, bo one się nie liczą i CIA, bo moim zdaniem rozwiązanie Tomka jest, co tu dużo mówić, niczym zapierającym dech w piersiach swoim pięknem, a jakieś dziwne LP też chyba nie są takie fajne - widać było, że jakaś megaprzypadkoza wchodzi w grę w tym zadaniu), lecz zestaw jako całość nie okazał się moim zdaniem bardzo dobry. Według mnie zabrakło zadań różnicujących górę. Było CIA, które było niedostępne dla śmiertelników, było DRU, które było trudne, ale też bardzo fajne - trochę rozrzuciło czołówkę, ale raczej nie za szeroko, a reszta to był raczej must, jeżeli się myślało o dobrym wyniku, z ewentualnym marginesem bezpieczeństwa, na jakieś drobne uszczknięcia punktów. Ja na przykład popełniłem głupiego buga w kol, straciłem 9 pkt i była to już strata nie do odrobienia. W poprzedniej edycji były takie zadania jak GENom, RAPer, KRYształ, DZIałka, MROwki i one moim zdaniem bardzo dobrze zróżnicowały czołówkę, w topce każde z tych zadań było zarówno rozwiązane jak i nierozwiązane przez sporą część.
Podsumowując w skrócie - CIA było za harde, DRU spoko, a reszta za łatwa.
Jakość opracowań: Poza jednym przypadkiem raczej robota bardzo dobrze wykonana, ale testy do PLE, to jakaś masakra. Proszę poczytać temat o rozwiązaniach PLE - jest tam więcej opisanych rozwiązań O(n^2), które dostały 10/10 niż tych działających sensownie, a testy je uwalające nie wymagają przebłysków geniuszu i są raczej naturalne w trakcie opracowywania, a nie tylko "po fakcie". Testy nie były paczkowane, a bez tego się moim zdaniem nie da dobrze rozłożyć punktów. Chyba nikt nie zaprzeczy, że nieobecność takiego testu jak 100.000 wąskich prostokątów świadczy o fatalnej jakości opracowania. Poza tym time limit 16sec i memory limit 1024MB - o so chodzi??
Co do zadań to jeszcze było zadanie PAK. Rozwiązanie wzorcowe dosyć standardowe, ale limit n=24 i fakt, że na uruchomieniu próbnym działało prawie 5s albo dostawało TLE powodował zamieszanie i wątpliwości. Sporo czasu spędziłem szukając szybszego rozwiązania (coś w stylu 3^(n/2)), a skończyłem (tak jak chyba spora liczba zawodników) robiąc różne niskopoziomowe optymalizacje, które były zupełnie niepotrzebne. Przez tę sytuację to zadanie też zaliczyłbym do niefajnych w tej edycji. Co do reszty zadań to zgadzam się z tym co napisał Wojtek.
Dorzucę też swój komentarz do limitów czasowych w ostatniej rundzie. Limit 16s przy n=100k, gdzie rozwiązanie wzorcowe działa w O(n log n) poniżej sekundy jest dosyć dziwny. Sporo osób implementowało n log^2 n i biorąc pod uwagę, że to była ostatnia runda myślałem, że te rozwiązania zostaną rozróżnione na punktach (chociaż do tego n powinno być raczej większe). W CIA z kolei limity bardzo ostre. Miałem rozwiązanie o złożoności O((k-1)^(k!/2) * k!) co dla k=4 daje całkiem sensowną liczbę operacji (swoją drogą mniejszą niż w zadaniu PAK) i udało mi się osiągnąć czas 4s na uruchomieniu próbnym, a tutaj limity 2-3s. Przecież najprostsze bruty i tak by działały zdecydowanie za wolno, więc czemu nie nagradzać rozwiązań, które są jakkolwiek lepsze ?
Teraz system SIO2: system jest sprawny, szybki i schludny, ale w kontekście potyczek brakowało mi zakładki "Moje wyniki", która by działała tak jak w poprzednim systemie, czyli pokazywała wyniki ostatniego zgłoszenia dla każdego zadania. Jeśli się dużo submitowało i korzystało z uruchomień próbnych to trzeba było później szukać swoich wyników. I jeszcze taka drobnostka: menu po lewej się zwija w zależności od wielkości okna przeglądarki w związku w tym dział Forum zawsze miałem pod "Więcej", a z Forum korzystałem zdecydowanie częściej niż z działu Pliki czy Testy. Więc jeśli link do forum mógłby być wyżej to by było super :)
A ja choć częściowo wezmę w obronę limity w zadaniu PLE. Ze względu na to, że istnieje wiele ciekawych rozwiązań istotnie szybszych niż O(n^2) (tak jak O(n log n), O(n log^2 n), O(n^1.5) itp.), organizatorzy najwyraźniej postanowili, że wszystkie powinny przechodzić. To mogło być całkiem sensowne - dla wszystkich tych złożoności istnieją rozwiązania o mniejszych i większych stałych ukrytych w notacji O. Tak więc tutaj byłoby bardzo trudnym zadaniem oddzielenie wszystkich rozwiązań np. O(n log n) od wszystkich o złożoności O(n log^2 n). Mogłoby wtedy dojść do sytuacji, w której np. klepię n log^2 n -> nie wchodzi mi -> bawię się niskopoziomowymi optymalizacjami i robię fast input -> weszło.

To samo w sumie dotyczy limitu pamięciowego. Jeśli ktoś jest w stanie uzyskać złożoność pamięciową istotnie lepszą niż (1000000)^1.5 czy O(n log^2 n), to już niech ma te 10 punktów - w końcu to jest kategoria [B], limity mogą być nieco luźniejsze ;).

Ale prawdą jest, że jeśli już pozwalamy na takie luźniejsze limity czasowe, to musimy się postarać, by uwalić programy o złożoności O(n^2). Rozumiem oczywiście kwestie w stylu "jeśli damy 10 paczek po 10 testów i w każdym limit rzędu 15s, to będzie nam się sprawdzać pół dnia". Jednak wydaje mi się, że wszelkie usprawnienia O(n^2) powinny nie przechodzić niezależnie od kosztów... Zdziwiło mnie na przykład, że nie ma takiego testu, o którym mówił Wojtek - dużo wąskich i długich prostokątów (wierzę mu, że takiego testu nie ma :P). Nie dość, że spowodowałby TLE w wielu rozwiązaniach, to bardzo możliwe, że doprowadziłby do przekroczenia pamięci w części programów.


A ja jeszcze trochę powiem o rundzie rozproszonej. Zadania były raczej niegłupie i (w mojej opinii) wymagały pomysłowości. Oczywiście możemy zrozumieć pewną ostrożność organizatorów, którzy być może za pierwszym razem nie chcieli proponować jakichś kosmicznych zadań, żeby nagle się nie okazało, że np. trzecim najwyższym wynikiem dnia jest 4p. Jednak zastanawia mnie jedna kwestia: czy nie mieliście przypadkiem wrażenia, że zadanie z [B] (Kółko) jest trochę trudniejsze niż równoległe [A] (Sekretarka)? ;)
Przejrzałem w sumie ranking i doszedłem (na oko) do ciekawego wniosku: tak mniej więcej w Top60 ludziom bardziej wchodziło [A], zaś poniżej Top60 [B]. Ktoś może się domyślać, czemu? :P
>Przejrzałem w sumie ranking i doszedłem (na oko) do ciekawego wniosku:
>tak mniej więcej w Top60 ludziom bardziej wchodziło [A], zaś poniżej Top60 [B]. Ktoś może się domyślać, czemu? :P

Zapewne ludzie w czołówce są obeznani ze standardowymi algorytmami, takimi jak liczenie odległości edycyjnej. Ci dalsi albo ich nie znali, albo nie implementowali, i mogło im być trudniej wyobrazić sobie tą dwuwymiarową tablicę, i jak obliczanie jej zrównoleglić. Ponadto dochodzi fakt, że ludzie w czołówce na pewno bardziej patrzą na ranking A+B, a reszta skoro i tak się nie załapie na finał, to nieco sobie daje luzu na zadaniach z A, i skupia się na B, żeby chociaż koszulkę wygrać. Oczywiście nie mówię, że wszyscy tak robią, ale statystycznie jest to prawdopodobne ;)
Ja mam tylko jedną uwagę odnośnie SIO2, brakuje mi opcji wyszukiwania w rankingu, która była dostępna na starej stronie :)
Nie byłem fanem podziału zadań na A i B.
Niech sobie zawsze będzie prostsze i trudniejsze - to popieram.
Ale uważam, że nie powinniśmy wiedzieć które to które.

To że SEK było B to był błąd. KOL było trudniejsze.

Oddzielny ranking dla B też chyba nie spełnia żadnej roli.
SEK[A] łatwiejsze od KOL[B], MUZ[A] łatwiejsze od PLE[B].

Można by ranking B robić z Suma_po_rundach(Minimum(Punkty uzyskane za zadania na rundę, Połowa punktów za rundę)) jeśli już trzeba.

To że PLE było B chyba spowodowało, że tam było tak dużo pamięci i tak wysokie limity czasowe. W tym zadaniu można było spokojnie liczbą punktów porozróżniać trochę różne złożoności.

Ogólnie nie jestem fanem testów.

W PAK było za małe rozróżnienie złożoności.

W PLE było za dużo testów poprawnościowych a za mało rozróżniających złożoność. Miałem przyzwoitą złożoność ale z dużym bugiem, na losowych testach prawie zawsze działało, a tu mi przeszło tyko na jeden punkt. A tu podobno N*N dawał 10/10.

Ogólnie trochę żal, że tylko 10 punktów za każde zadanie, że punkty było 0 albo 1 (bez frakcji za ponad połowe limitu czasowego etc) i że nie było więcej rywalizacji z przeciwnikami.

Coś w stylu: zadanie z 10ma paczkami po 10 testów. Spośród rozwiązań poprawnie rozwiązujących daną paczkę rozwiązanie z najlepszym czasem T dostaje 10 punktów. Do 125/150/175/200/...% T inni dostają 10/9/8/7/... punktów.

Mogłoby też być jakieś zadanie bez optymalnego rozwiązania gdzie się dostaje X sekund, żeby zastosować heurezy i wypisać najlepsze znalezione.

Nie było też żadnej gry.

Rozproszone zadania były super, ale trzeba popracować nad powtarzalnością sprawdziarki (no i Wam też zabrakło mocy obliczeniowej pod koniec rundy rozproszonej). Fajnie by było też gdyby koszty komunikacji/synchronizacji były lepiej udokumentowane.

Ale to są tylko pomysły. Ogólnie było oczywiście bardzo pozytywnie i bardzo udane! Dziękuję za świetną zabawę.
Moim zdaniem podział na A/B jest ok, bo, poza kwestiami z koszulkami i rankingiem tylko-B, jest dodatkowym narzędziem w rękach organizatorów, aby podpowiedzieć uczestnikom, jakie rozwiązanie jest oczekiwane. Przykłady:
1. w ostatniej rundzie MUZ było chyba łatwiejsze niż PLE (a na pewno niż PLE w O(n log n)), więc fakt, że PLE było B (i te 1024 MB) był sygnałem, że będą przechodzić powolne rozwiązania. (Chociaż fakt - mogliby zrobić, żeby brut n^2 nie wchodził :) ).
2. w rundzie rozproszonej było tak, że widać (przy odrobinie obycia), że można zrobić KOL w O(n log n / m) w naturalny sposób, ale żeby uzyskać czas O(n / m), trzeba bardziej pokombinować (przynajmniej jeśli chodzi o skomplikowanie implementacji), tzn. dolosować więcej punktów. Fakt, że to zadanie było B, był sygnałem, że nie trzeba tego robić. Gdyby SEK było B a KOL było A, to uznałbym, że może to być wymagane.
> Rozproszone zadania były super, ale trzeba popracować nad powtarzalnością sprawdziarki (no i Wam też zabrakło mocy
> obliczeniowej pod koniec rundy rozproszonej). Fajnie by było też gdyby koszty komunikacji/synchronizacji były lepiej
> udokumentowane.

Fajnie by było, gdyby API udostępniało nonblocking receive ;)

> Ale to są tylko pomysły. Ogólnie było oczywiście bardzo pozytywnie i bardzo udane! Dziękuję za świetną zabawę.

Popieram i też dziękuję.

PS
Widzę, że z regulaminu znikł punkt o udostępnianiu rozwiązań. Szkoda,
to była dobra szkoła analizy cudzych kodów :)
Jeśli nie znasz (nie umiesz wygooglac:) algorytmu na odległość edycyjną, wymyślenie go jest trudniejsze niż wymyślenie czegoś na KOL.

Broniłbym oddzielnego rankingu B. Odciąża on nieco osoby walczące głównie o koszulkę, daje im priorytet, najpierw B, potem, po doszlifowaniu, A. Branie maksimum z dwóch nieopisanych zwiększyło by losowość, ktoś miałby pecha zająć się trudniejszym, wzór Macieja zachęca natomiast do wrzucenia dwóch brutów.
Ludzie z A+B mogą natomiast sobie dobrać zadanie. Wiedzieć, które będzie łatwiejsze to też sztuka i element strategii. Regularnie to zadanie oblewam;)

Bardzo nie podoba mi się pomysł z różnicowaniem punktów za czas. To właśnie jest fajne w PA, że to konkurs typowo algorytmiczny, nie koderski. Wymyślisz algorytm optymalny lub prawie optymalny, zaimplementujesz, nie musisz bawić się w przesadną optymalizacje, własne kontenery...

Jedno zadanko na aproksymacje nie zaszkodzi. Tylko program musi znać limit czasu! Zadanko może nawet w takiej formie: http://en.wikipedia.org/wiki/Anytime_algorithm
> Wymyślisz algorytm optymalny lub prawie optymalny, zaimplementujesz ...

Problem właśnie w tym że były tak dobrane testy, że w niektórych zadaniach poświęcanie czasu na wymyślanie i kodowanie optymalnego (czy bardziej optymalnego) algorytmu było strzelaniem sobie w nogi. Z drugiej strony nigdy nie wiadomo jak będą testy i czasy dobrane, więc nie można sobie pozwolić na wysłanie tylko bruta. To de fakto zwiększa losowość wyników.

W sumie PLE można było na innych testach/czasach/limicie pamięciowym dać w rankingu A, a na większych limitach w rankingu B. Ale przechodzenie N*N na 10 pkt w rankingu A jest _dalece_ nie fair dla tych co z góry założyli, że N*N tutaj, tak ja w DRU, zaliczy 3-4 punkty.
Potyczki są chyba najlepiej przygotowanym, utrzymanym na najwyższym poziomie polskim konkursem algorytmicznym. Dostarczają ciekawych zadań, posiadają przyjazną stronę, wsparcie. I tutaj, jak poprzednicy dziękuję za miło spędzony czas.

Trochę bardziej szczegółowo.
Może zacznę od rund rozproszonych. Odbieram je bardzo pozytywnie. Pomysł jest bardzo dobry. Wykonanie też było dobre. Aczkolwiek, wszystkie zadania opierały się o rozproszoną analizę dużych danych. Szczerze się przyznam, iż liczyłem na zadanie, które będzie składać się z małych danych a problemem będą równoległe obliczenia.
Szkoda trochę, że nie są dopuszczone wątki. Fajnie by było, gdyby jednak można było z nich korzystać przy zadaniach ze zwykłym pomiarem czasu (a nie liczby taktów).

Nowa strona? Brakuje kilku funkcjonalności, poprawiłbym forum, ale ogólnie jestem jak najbardziej na tak! Cieszę się z migracji na SIO2.

No i chyba najważniejsza kwestia. Jeśli chodzi o zadania to były one ciekawe. Trochę mi nie poszły, ale to nie wpływa na moją ocenę (o dwieście miejsc, raczej nie spadnę i na koszulkę się załapie, więc nie jestem niezadowolony). Został jednak pewien niedosyt. Zabrakło mi kilku dziedzin, ale zadania były dobre i to chyba najważniejsze. Zatem ogólnie ten aspekt odbieram pozytywnie.
Jeśli chodzi o testy... tu zgadzam się niestety z poprzednikami. Testy przechodziły rozwiązania dalekie od wzorcowych. Zgadzam się z tym, co pisze Maciej. To jest trochę nie fair. Brut O(n^2) na 10? Serio?
Też biorę w obronę ranking [B], ale niech będą tam prostsze zadania a nie akceptowane gorsze rozwiązania!

No i chyba poruszyłem wszystkie kwestie... Może jeszcze sobie pozwolę powiedzieć coś bardziej ogólnego. Potyczki są naprawdę fajne. Zrzeszają wiele osób zainteresowanych tą tematyką. A chyba nie jest to zbyt częste. W Hyde Parku pojawiło się pytanie o forum dla algorytmików, ale nie doczekało się odpowiedzi... Nie ma dla nas miejsc? Może pora to zmienić?
Zatem trochę szkoda, że są tylko raz w roku. Aczkolwiek chyba częściej bym nie chciał (mogłoby to się odbyć kosztem jakości albo spowszechnienia). Pomyślałbym natomiast o wprowadzeniu np. jednego zadania co dwa czy trzy miesiące. To tylko kilka zadań a na pewno zostałoby to odebrane pozytywnie, w końcu zadania z PA to jedne z najciekawszych pojawiających się zadań. No i sam konkurs zapewnił miło spędzony czas, nie tylko mi. Ciesze się, że jest on realizowany. :)
Raz jeszcze dziękuję całej ekipie PA za ten miło spędzony czas!
Moje uwagi:
1. Ogólne wrażenia z konkursu mam bardzo pozytywne. Jak zwykle wysoki poziom zadań i ich przygotowania, ciekawe i naturalne problemy, dobry support, platforma...
2. Obawiałem się, że runda rozproszona będzie wpadką/porażką, ale tak się nie stało. Tutaj również uznanie dla organizatorów. Ostatecznie nawet na Windowsie można było zrobić te zadania :P Trochę tylko ciężko się robiło stress-testy (tzn. tysiące małych testów kontra brut), bo program się uruchamia przez 3 sekundy.
3. Trochę rzeczywiście zabrakło bardzo trudnych zadań. DRU było fajne (ciągle nie wiem jaką złożoność ma moje rozwiązanie), CIA też (i cóż z tego, że mało kto ma 10), ale tak poza tym to góra rankingu jest wyjątkowo zbita. Np. miejsca 5. i 24. w niefinalnym rankingu dzieli 6 punktów. Bardzo penalizuje to tracenie punktów za bugi w rozwiązaniach (patrz Wojtek), bo nie ma jak tego nadrobić.
4. Liczyłem na to, że po migracji na nową platformę SIO2, forum będzie wreszcie miało najważniejszy feature, jaki każdy silnik forum powinien mieć, czyli "pokaż nieprzeczytane posty", ale niestety nie. W związku z tym ciągle musiałem sobie zapisywać, do której godziny mam przeczytane posty, żeby nie czytać dwa razy tego samego.
5. PLE było jednak trochę dziwne. Testy powinny być lepsze i wyłapywać rozwiązania niepoprawne albo bardzo wolne. Ale jednak trudno jest dopuszczać rozwiązania O(n log^2 n) ze sporą stałą, a zabijać O(n^2) z optymalizacjami, bo przy n=10^5 ich czasy działania są podobne. Problem mógłby być rozwiązany przez większe n, ale wtedy jest inny kłopot: kto uwierzy, że ma wzorcówkę (czy raczej, algorytm, który dostanie 10 pkt.), jeśli jego program działa 20-30 sekund? Może należało ograniczyć przedział współrzędnych (do 10^5), tak aby rozwiązania n log^2 n działały nieco szybciej? Trudno powiedzieć. Pewnie organizatorzy mieli te same problemy.
6. Już ktoś wyżej to pisał - fajnie byłoby po zakończeniu system testu widzieć od razu wyniki rundy (np.: 27 punktów). To chyba jedyna rzecz, która w poprzednim SIO była lepsza. Ale za to fajnie, że są wyniki także wszystkich poprzednich zgłoszeń. Można od razu zobaczyć, ile punktów dostałyby nasze poprzednie podejścia. Właściwie, to czy nie byłoby wyników szybciej, gdyby podzielić system testy na dwie fazy - pierwsza testowałaby każdemu tylko ostatnie zgłoszenia do każdego z zadań, a dopiero druga testowała te wcześniejsze?
7. PLE nie miało dobrych testów, ale inne zadania miały bardzo dobre/mocne. Np. DRU.

Ogołnie bardzo mi się podobało i dziękuję organizatorom za miło (jakkolwiek męcząco :P) spędzony tydzień :)
Ja bym jeszcze proponował, żeby przy uruchomieniu próbnym limit na rozmiar pliku wejściowego pozwalał na wysłanie maxtestu. Można niby to obejść generując dane w programie zamiast wczytywania ich z wejścia, ale strasznie to niewygodne...
Nie wiem czy wszyscy jeszcze patrzą na stronę główną konkursu, ale pojawił się na niej odnośnik do ankiety na temat tegorocznych Potyczek. Wydaje mi się, że osoby piszące i czytające ten wątek będą zainteresowane :)
> Może należało ograniczyć przedział współrzędnych (do 10^5), tak aby rozwiązania n log^2 n działały nieco szybciej?

To akurat można sobie zrobić samemu (i moje rozwiązanie to robi), wystarczy posortować i przenumerować współrzędne.
Poziom uczestników z rankingu B ostatnio się znacząco obniżył.

Może dobrym pomysłem byłoby losowanie koszulek dopiero po zakończeniu zawodów lub z 3,4-rundowym opóźnieniem?

Również uważam, że kultowe koszulki potyczek powinny być rozdawane na podstawie rankingu A+B. Oczywiście nadal można dzielić zadania, jakkolwiek czasami zadania z A są łatwiejsze od tych z B. Myślę, że się każdy zgodzi, że zadania A z pierwszych 2 rund nie są trudniejsze od zadań B z ostatniej rundy. Argument, że najsłabsi będą zniechęceni raczej nie działa, ponieważ przy obecnym poziomie nie podniosło by to zauważalnie progu (w tym roku 27 pkt, co jest wynikiem żenującym).
"Myślę, że się każdy zgodzi, że zadania A z pierwszych 2 rund nie są trudniejsze od zadań B z ostatniej rundy." - Ja się zdecydowanie nie zgodzę. Jeżeli chodzi o PLE, to przyznam rację, że było rzeczywiście trudne, ale wymyślenie KUG zajęło mi z godzinę, podczas gdy wymyślenie FIO zajęło mi kilka sekund od przeczytania treści - strasznie szablonowe zadanie.
Choć też nie widzę wielkich minusów rozdawania koszulek na podstawie ogólnego rankingu, niektórych by to pewnie zmotywowało, bo gdy słyszę, jak niektórzy mówią "robię tyle, by dostać koszulkę", to mnie biała gorączka obejmuje.

I oczywiście ja też bardzo chciałem organizatorom podziękować za przygotowanie tegorocznej edycji, PA podtrzymuje wyjątkowo wysoki organizacji :)!
On Tue, May 20, 2014 at 02:32:39PM +0200, Jakub Tarnawski wrote:

> 4. Liczyłem na to, że po migracji na nową platformę SIO2, forum
> będzie wreszcie miało najważniejszy feature, jaki każdy silnik forum
> powinien mieć, czyli "pokaż nieprzeczytane posty", ale niestety nie.
> W związku z tym ciągle musiałem sobie zapisywać, do której godziny
> mam przeczytane posty, żeby nie czytać dwa razy tego samego.

> 6. Już ktoś wyżej to pisał - fajnie byłoby po zakończeniu system
> testu widzieć od razu wyniki rundy (np.: 27 punktów). To chyba
> jedyna rzecz, która w poprzednim SIO była lepsza.

Tamte forum miało wątkowanie i zdaje mi się zmianę tematu wątku.
Tu się pojawiły za to supersedesy (edycja) - co było jednak trudne do wykrycia :(
Wolałbym, gdyby forum miało (także lub zamiast www) interejs imap lub lepiej nntp.
A tak jak co roku robię konwersję forum do mboxa - właśnie odpowiadam z mutta ;)
@Mirosław: nntp z dodatkową bramką www:)

Skoro już o sprawach technicznych związanych z forum. Przydałoby się jakieś sortowanie. W rankingu nawet trochę mniej, ale w opublikowanych rozwiązaniach jest potrzebne do jako takiego używania. Chyba, że to sposób organizatorów na to, by każdy uczestnik sobie skrypt to ściągający napisał;)
Marcin: Ostatnia osoba która załapała się na koszulkę w B (miejsce 256) była w łączonym rankingu na miejscu 271. Czy dla 15 osób warto robić rewolucję? Może i tak, choć nie widzę w jaki sposób ma to podnieść poziom zawodów. Pewnie wiele osób (w tym ja) zna swoje możliwości (brak skilla) i dlatego odpuszcza zadania z A. Jeśli zaś chodzi o trudność zadań, to zapewne moje doświadczenia jak i wielu innych wyraźnie pokazują, że nawet pierwsze zadania z A były jednak trudniejsze niż ostatnie z B. Moim zdaniem aktualny system jest bardzo fajny i mam nadzieję że podział na pierwszą i drugą ligę zostanie utrzymany.

Jak chcesz podnieść "elitarność" koszulek to wystarczy ograniczyć ich liczbę do 128, ale sami przyznacie, że 2^7 już tak ładnie nie wygląda jak 2^8 :)

Na koniec wielkie dzięki dla organizatorów oraz wszystkich osób wrzucających testy!!
@Marcin Roman

> Może dobrym pomysłem byłoby losowanie koszulek dopiero po
> zakończeniu zawodów lub z 3,4-rundowym opóźnieniem?

Hmm, może? Sam kilka lat temu wylosowałem koszulkę i odpuściłem sobie ostatnią rundę - wybrałem wyjazd na majówkę ;-)

> Również uważam, że kultowe koszulki potyczek powinny być
> rozdawane na podstawie rankingu A+B.

Wówczas osobny ranking B traci rację bytu. Byłaby to jednak rewolucja - zmuszałaby zawodników spoza walczącej o finał i prestiż czołówki do dużo większego wysiłku w celu zdobycia owej kultowej koszulki, z góry eliminując część tych, którzy nie mogą wziąć tygodniowego urlopu ;-(

> Oczywiście nadal można dzielić zadania, jakkolwiek czasami
> zadania z A są łatwiejsze od tych z B.

Ocena trudności zadań zawsze będzie subiektywna, ale generalnie wolę zaufać doświadczeniu organizatorów.

> Myślę, że się każdy zgodzi, że zadania A z pierwszych 2 rund
> nie są trudniejsze od zadań B z ostatniej rundy.

Tak się może zdarzać wobec - słusznego moim zdaniem - założenia, że trudność zadań w obu ligach rośnie z każdą rundą. Mnie to nie przeszkadza.

> Argument, że najsłabsi będą zniechęceni raczej nie działa,
> ponieważ przy obecnym poziomie nie podniosło by to
> zauważalnie progu (w tym roku 27 pkt, co jest wynikiem
> żenującym).
(...)
> Poziom uczestników z rankingu B ostatnio się znacząco
> obniżył.

Próg 27 pkt. z 6 zadań to 45%. Nie wiem, czy to dużo, czy mało - nie znam progów z ostatnich lat (7 zadań A i 8 zadań B). Ponadto wprowadzenie zadań rozproszonych - wymagających nowej dla wielu wiedzy, bardziej kłopotliwych w testowaniu i nie do końca dopracowanych przez organizatorów (co rozumiem i wybaczam) - mogło wpłynąć ujemnie na wysokość tego progu.

Dla rankingu A+B próg "na koszulkę" wynosiłby 28 pkt (23.3% z 12 zadań) - oczywiście w przypadku likwidacji rankingu B byłby nieco wyższy. Czy warto przeprowadzać tę rewolucję, by zmobilizować uczestników do mierzenia się z trudniejszymi zadaniami? Nie wiem. Wydaje mi się, że przeciętny (ale ambitny) zawodnik i tak po uporaniu się z zadaniami B-klasy - jeśli wiedza, doświadczenie, zdolności analityczne oraz (last but not least) czas mu pozwalają - sięga po te trudniejsze, najczęściej z miernym skutkiem, rzecz jasna.


Przyszedł mi do głowy diabelski pomysł, by uzależnić punktację od trudności zadania ;-) Niee, żartuję, dopiero podniosłaby się fala dyskusji, protestów i reklamacji! Choć bez wątpienia ożywiło by to forum i wzrósłby poziom interakcji uczestników z organizatorami - dział Pytania i Odpowiedzi zmieniłby się w Książkę Życzeń i Zażaleń ;-)

Ktoś wyżej postulował możliwość sortowania rozwiązań - zdecydowanie popieram. Kolejność alfabetyczna ma sens jedynie dla tych nielicznych, jak sądzę, którzy koniecznie muszą przeanalizować program kolegi niezależnie od jego wyniku. Dla większości bardziej istotny jest wynik - osobiście chętnie zrezygnuję z możliwości oglądania programów, które nie dostały maxa. Aha, i przydałyby się osobne tabele dla różnych języków.

Chciałbym też mieć możliwość obejrzenia autorskich rozwiązań wzorcowych - choćby po to, by porównać ich czasy z czołówką, ewentualnie też z własnymi ;-)

Ostatnia uwaga: termin PA. Nie wiem, czy to możliwe, ale wolałbym kwiecień, jak niegdyś. Akurat w tym roku pogoda była fatalna, ale gdyby zawody odbywały się w tym tygodniu, nie wiem, czy wystarczyłoby mi motywacji, by ślęczeć tyle czasu nad klawiaturą ;-(


Zgłoszę sobie głupią uwagę do systemu rankingowego/rozwiązań w SIO2.

OK, ukrywanie imienia i nazwiska przed widokiem innych to całkiem niezły pomysł. Tylko co z tego, jeśli w rankingach (czy rozwiązaniach) i tak wszyscy użytkownicy są sortowani po nazwisku? :)

@Roman Sosiński: trzeba przyznać, że motyw uzależniania liczby punktów do zdobycia od trudności zadania był całkiem chętnie używany w początkach olimpiad (pierwsze olimpiady informatyczne - polska i międzynarodowa czy wczesne międzynarodowe matematyczne). Jednak jakoś tak się stało, że wszyscy wrócili do systemu "za każde zadanie tyle samo punktów". Według mnie to ma bardzo duży sens (trudne zadania mają to do siebie, że i tak niełatwo zdobyć za nie dużo punktów, więc nie ma po co dodatkowo powiększać przepaści) i chyba tak powinno zostać ;)
On Wed, May 21, 2014 at 06:33:17PM +0200, Marek Sokołowski wrote:
> i tak wszyscy użytkownicy są sortowani po nazwisku? :)

Raczej nie - chyba że nie podali pełnych danych. Bo w rozwiązaniach są
też pozycje z nickami.
On Wed, May 21, 2014 at 01:35:13PM +0200, Bartłomiej Szczygieł wrote:
> Chyba, że to sposób organizatorów na to, by każdy
> uczestnik sobie skrypt to ściągający napisał;)

Done ;)
@Mirosław: tylko popatrz na to, że ludzie z nickami są uporządkowani jakoś dziwnie. Tak, jakby sortowało ich po nazwisku, które postanowili ukryć ;)
On Wed, May 21, 2014 at 06:04:11PM +0200, Roman Sosiński wrote:
> Aha, i przydałyby się osobne tabele dla różnych języków.

Ten konkurs staje się raczej c++ only ;)
Wśród udostępnionych statystyka języków wygląda tak:

pas........33
java......258
c.........189
cpp,cc...4059
On Wed, May 21, 2014 at 06:47:40PM +0200, Marek Sokołowski wrote:
> @Mirosław: tylko popatrz na to, że ludzie z nickami są uporządkowani jakoś dziwnie. Tak, jakby sortowało ich po nazwisku,
> które postanowili ukryć ;)

Na to wygląda, sam się temu dziwiłem. Przypuszczam, że masz rację :(
Dzięki wszystkim za konstruktywne uwagi dt. SIO2.

Zebrałem powyżej następujące brakujące ficzery:

* nieprzeczytane posty na forum
* sortowanie (po nazwisku, wyniku i języku) na stronie z rozwiązaniami
* "pokaz moja pozycje" + wyszukiwanie w rankingu
* zakładka "moje wyniki"

Nie było ich ponieważ albo nie przyszły nam one do głowy albo nie wystarczyło czasu na ich napisanie. Np. do tej pory SIO2 nie było przez nas używane w konkursach gdzie trzeba było włączyć paginacje w rankingu, więc również nie widzielismy potrzeby wyszukiwania ;)

Zapisałem sobie też uwagę o pozycji forum w menu.

Ostatnia uwaga, którą widziałem dotyczyła bodajże czasu, w którym pojawiają się wyniki po zakończeniu rundy (że z opóźnieniem, a nie od razu). To nie jest tak, że czekamy do końca rundy, a później oceniamy wszystkie zgłoszenia. Zgłoszenia są oceniane na wszystkich testach na bieżąco (o ile wystarcza mocy obliczeniowej), przy czym testy przykładowe i uruchomienia próbne mają priorytet. Niestety zwykle pod koniec rundy liczba zgłoszeń przerasta nasze możliwości sprawdzania - często na bieżąco sprawdzane sa wiec tylko testy przykładowe. Z tego powodu na pełne wyniki trzeba poczekać, aż wszystko się sprawdzi.

W dodatku jest to też czas dla jury i ekipy technicznej na manualne przejrzenie zgłoszeń i wyników, żeby wyłapać ewentualne błędy lub niesprawdzone zgłoszenia oraz wykonanie kilku innych rzeczy związanych z udostępnieniem wyników (np. publikacja testów).

W tej edycji Potyczek czas pojawiania się wyników (poza rundą rozproszoną) wynosił od 30 do 60 minut. Uważam, że to całkiem niezły wynik i myślę, że ciężko go poprawić przy obecnym modelu sprawdzania. W poprzednich edycjach Potyczek również występowały takie opóźnienia.. w kilku przypadkach nawet sporo większe.

Co zaś tyczy się rundy rozproszonej to po prostu niedoszacowaliśmy zainteresowania i liczby zgłoszeń, zwłaszcza pod koniec rundy.
Jeśli już o menu po lewej stronie mowa to pozwolę sobie wtrącić kilka uwag. Jest tam strasznie dużo zakładek, co jest niesamowicie niewygodne. Jeśli dojdą nowe wraz z nowymi funkcjami to strona stanie się nieużywalna. Dlatego sugerowałbym zmniejszyć ich liczbę. Na przykład, dlaczego testy i pliki są dwoma stronami? Nawet jeśli mają być jakoś oddzielone to przełączać między nimi powinno się w zakładce pliki. To dość intuicyjne, że pliki testów są do pobrania w zakładce pliki...
Ponadto, dużo jest linków formalnych (Regulamin, Ustalenia techniczne...) rozumiem, że one powinny być, ale miło by było gdyby zostały oddzielone jakąś cienką kreską.
Jak zostaną dodane "Moje wyniki" czy "Ostatnie zgłoszenia" to sugerowałbym umieścić je w "Moje zgłoszenia" aby nie powiększać liczby zakładek menu.
Poza tym, kolejność faktycznie wydaje się dość przypadkowa. Można by sprawdzić z czego ludzie korzystają najczęściej i zmienić ją. :)

A tak z innej beczki to miło by było, gdyby forum przenosiło do pierwszego nieprzeczytanego postu po wejściu w wątek.
A propos koszulek - czy wiadomo kiedy będą rozsyłane?