Rozmowy na temat prac konkursowych |
Rozmowy na temat prac konkursowych |
3.11.2010, 23:49:13
Post
#1
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) |
Wydzielone z: http://forum.php.pl/index.php?s=&showt...st&p=803748 - DeyV
------------------------ nie mam jak zainstalowac, na płycie mam live bez żadnego serwera nic, a jak chce cos instalowac typu serwer etc to chce już zainstalowanego systemu PS. nie ma co juz kombinowac, pozostawię starą wersję co wysłałem juz jakis czas temu z tą moją funkcją, która w językach kompilowanych na pewno działałaby szybciej, ale php jest interpretowany i tutaj z tym jest różnie :/ Już jest północ to można pisać o zadaniach Ten post edytował DeyV 4.11.2010, 08:55:00 -------------------- :]
|
|
|
3.11.2010, 23:59:42
Post
#2
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) |
Już jest północ to można pisać o zadaniach Spieszy Ci się zegarek Edit: No i koniec konkursu. Ten post edytował flashdev 4.11.2010, 00:00:41 -------------------- |
|
|
4.11.2010, 00:00:45
Post
#3
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) |
no co ty, juz mam 2 po
-------------------- :]
|
|
|
4.11.2010, 00:10:00
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) |
no to nie wiem, wklejamy?
|
|
|
4.11.2010, 00:14:32
Post
#5
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) |
co mogę napisać,
patrząc z czysto algorytmicznego punktu widzenia, istotne części programu to: 1. generowanie fibo 2. dekodowanie ciągu 3. szukanie parametrów ad1. tutaj jedyne co wymyśliłem, to liczenie każdego wyrazu ciągu modulo 36, aby od razu mieć pozycje w alfabecie i nie wyobrażam sobie poza tym liczenia fibo bez modulo 36, bo nie wiem jaki typ danych pomieściłby np. milionowy + jeden wyraz ciągu ad2. i ad3. tutaj wymysliłem coś takiego, że dekoduje od lewej i od prawej równolegle i od razu porównuje czy to co odkodowałem to przypadkiem nie cyfra, bo w całym ciągu moga wystąpić tylko cyfry przy parametrach, zaletą jest to, że o ile parametry nie znajdują się na samym środku, to nie muszę dekodować całego ciągu i ogolnie w miare szybko znajduje parametry, wadą tego rozwiązania jest język PHP , tzn. własna funkcja napisana PHP jest zawsze wolniejsza od wbudowanych, także nie wiem, czy akurat w przypadku PHP nawet preg_match by nie było szybsze, teoretycznie nie, ale trzeba miec na uwadze co napisalem wyzej Generowanie prostokątów mam po bozemu, idę sobie po kolei jak każą, operacje to same dodawania i raz na obieg modulo, także O(K*W), ale przy ograniczeniu K i W do 20, sądze, że ten fragment kodu ma być po prostu poprawny i nie jest aż tak istotna złozoność budowania tych postokątów PS. no i złożoność mojego programu: n - długość ciągu punkty 1,2 i 3 w czasie O(2n)=O(n) prostokąty w czasie O(3*K*W)=O(K*W) Ten post edytował rzymek01 4.11.2010, 00:17:09 -------------------- :]
|
|
|
4.11.2010, 00:14:47
Post
#6
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) |
no to nie wiem, wklejamy? Dekodowanie ciągu:
W sumie, tej części kody nawet nie optymalizowałem. Udało się komuś pozbyć tej pętli? Testowałem wersję z array_map, ale była nawet trochę wolniejsza dla krótkich oraz długich ciągów. -------------------- |
|
|
4.11.2010, 00:15:46
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) |
|
|
|
4.11.2010, 00:31:42
Post
#8
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) |
Wszystkie zmienna walnął z pojedyńczych liter ale o define('LF', "\n") już zapomniał. ;P
Ładny kod. Niestety ja zdążyłem napisać tylko dekodowanie fib'a i mnie choroba do reszty rozłożyła... nadal jestem ledwo ciepły, ale ciekawość wzięła górę. |
|
|
4.11.2010, 00:32:16
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
Pawel_W - wyprzedziles moj kod, ale chyba brakuje ci "\n" za 3cim prostokatem
-------------------- Nie lubię jednorożców.
|
|
|
4.11.2010, 00:35:48
Post
#10
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) |
Zrobiłem po 5 testów w każdej serii po 500 pomiarów dla Twojego i mojego dekodowania. Kod Domyslne wejscie: 'I3OHUI5Y0UXU7VQS9U63C' Twoje: av: 0.00082 sd: 0.00265 av: 0.00068 sd: 0.00030 av: 0.00083 sd: 0.00052 av: 0.00071 sd: 0.00035 av: 0.00075 sd: 0.00038 moje: av: 0.00094 sd: 0.00093 av: 0.00060 sd: 0.00031 av: 0.00057 sd: 0.00030 av: 0.00058 sd: 0.00029 av: 0.00062 sd: 0.00034 Dluzszy ciag wejsciowy: str_repeat('I3OHUI5Y0UXU7VQS9U63C', 1e3) Twoje: av: 0.00078 sd: 0.00050 av: 0.00066 sd: 0.00031 av: 0.00067 sd: 0.00035 av: 0.00067 sd: 0.00031 av: 0.00067 sd: 0.00034 moje: av: 0.00059 sd: 0.00031 av: 0.00062 sd: 0.00033 av: 0.00059 sd: 0.00031 av: 0.00060 sd: 0.00032 av: 0.00057 sd: 0.00026 Trudno powiedzieć żeby były jakieś znaczące różnice. Edit: Poniżej podaję kod, którym mierzę czasy. Może się komuś przyda. http://wklej.org/id/412325/ Ten post edytował flashdev 4.11.2010, 00:52:24 -------------------- |
|
|
4.11.2010, 00:39:15
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
Zrob dluzsze pomiary. Oficjalne testy sa po 1000 razy. U mnie daje to jakies 48s dla pojedynczego odpalenia ciagu z instrukcji.
-------------------- Nie lubię jednorożców.
|
|
|
4.11.2010, 00:41:13
Post
#12
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) |
Zrob dluzsze pomiary. Oficjalne testy sa po 1000 razy. U mnie daje to jakies 48s dla pojedynczego odpalenia ciagu z instrukcji. Zrobiłem 4 * 5 serii po po 500 pomiarów, czyli w sumie 4 * 2500 pomiarów. Funkcję, którą mierzę czas podałem już wcześniej. Wykorzystuję require. Aha i av to średnia oczywiście z tych 500 pomiarów, a sd to odchylenie standardowe. Ten post edytował flashdev 4.11.2010, 00:42:33 -------------------- |
|
|
4.11.2010, 00:42:50
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
ah, niedoczytalem
-------------------- Nie lubię jednorożców.
|
|
|
4.11.2010, 00:44:28
Post
#14
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) |
@Pawel_W bardzo fajnie to zrobiłeś z jednym preg`iem. Ale sam już się nie brałem za optymalizację tego bo nie wiem czy był sens. Wie ktoś może dokładnie jakie jest ograniczenie co do długości paramteru podawanego przy wywołaniu programu w linii poleceń? -------------------- |
|
|
4.11.2010, 00:50:47
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
@Pawel_W
Kod preg_match_all('#([KWAZkwaz]{1}[0-9]{1,2})#', $d, $m); A co jak w odkodowanym kodzie bedzie "....K32XXXXXW7XXXX..." to jaka wartosc bedzie miec K ? -------------------- Nie lubię jednorożców.
|
|
|
4.11.2010, 00:52:23
Post
#16
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) |
@Pawel_W, spróbuj uruchomić swój skrypt z parametrem SLK92YNR (tj. K5W5A2Z7). Wydaje mi się, że coś jest wtedy nie tak.
|
|
|
4.11.2010, 00:57:53
Post
#17
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) |
@Pawel_W, spróbuj uruchomić swój skrypt z parametrem SLK92YNR (tj. K5W5A2Z7). Wydaje mi się, że coś jest wtedy nie tak. Sprawdziłem, działa dobrze: Kod array(4) {
["K"]=> string(1) "5" ["W"]=> string(1) "5" ["A"]=> string(1) "2" ["Z"]=> string(1) "7" } -------------------- |
|
|
4.11.2010, 01:04:46
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) |
-------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
4.11.2010, 01:12:05
Post
#19
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
A to moj kod: http://paste-it.net/public/je4eef6/
-------------------- Nie lubię jednorożców.
|
|
|
4.11.2010, 01:28:03
Post
#20
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) |
dr_bonzo, wydaje mi się, że masz pewien problem z odbieraniem parametrów, dla przykładu: TN156JBHY (k5aw6a2z7).
|
|
|
Wersja Lo-Fi | Aktualny czas: 4.05.2024 - 09:02 |