Forum jest zablokowane. Podczas blokady nie można dodawać ani edytować wiadomości.
Temat: [KON] post factum
Muszę się trochę pożalić, ale może wyjdzie jaki pożytek z tego gadania :)
Zadanie KON wymagało złożoności w miarę liniowej. Nie mogłem skumać, co takiego złego zrobiłem w moim programie. Wiem, że nie powienienem działać na stringach, że wystarczyły liczby całkowite. A jednak, czemu taki dramat - 20 sekund?
2 breaki, które musiałem dołożyć, to ok, ale dalej coś było nie tak. No i w końcu mam:
-string f(string &astr, string &bstr) {
+string& f(string &astr, string &bstr) {
Brakowało mi tego pierwszego &. Ale długo do tego dochodziłem. Ostatecznie zacząłem dokładniej oglądać raporty profilera i go dopadłem. Po dodaniu znaczka schodzę poniżej sekundy.
To jest "urok" c++. Jeden znaczek, którego brak robi ci po cichu algorytm kwadratowy. A ja pisałem po javowemu. Tam taka konstrukcja jest bezkosztowa. No nic, odbiłem sobie na kolejnym zadaniu. Ale na pocieszenie mam, że algorytm sam w sobie nie był kiepski :)
Zadanie KON wymagało złożoności w miarę liniowej. Nie mogłem skumać, co takiego złego zrobiłem w moim programie. Wiem, że nie powienienem działać na stringach, że wystarczyły liczby całkowite. A jednak, czemu taki dramat - 20 sekund?
2 breaki, które musiałem dołożyć, to ok, ale dalej coś było nie tak. No i w końcu mam:
-string f(string &astr, string &bstr) {
+string& f(string &astr, string &bstr) {
Brakowało mi tego pierwszego &. Ale długo do tego dochodziłem. Ostatecznie zacząłem dokładniej oglądać raporty profilera i go dopadłem. Po dodaniu znaczka schodzę poniżej sekundy.
To jest "urok" c++. Jeden znaczek, którego brak robi ci po cichu algorytm kwadratowy. A ja pisałem po javowemu. Tam taka konstrukcja jest bezkosztowa. No nic, odbiłem sobie na kolejnym zadaniu. Ale na pocieszenie mam, że algorytm sam w sobie nie był kiepski :)
g++ kon.cpp -o kon -g (i bez sanitize'ów)
gdb ./kon
r < maxin
Czekamy parę sekund i CTRL+C
Wyskoczy Program received signal SIGINT, Interrupt.
wpisujemy "bt" i mamy w którym miejscu był w momencie, kiedy przerwaliśmy
Z dużym prawdopodobieństwem akurat będzie w najcięższej części kodu, w tym przypadku w konstruktorze kopiującym stringa.
gdb ./kon
r < maxin
Czekamy parę sekund i CTRL+C
Wyskoczy Program received signal SIGINT, Interrupt.
wpisujemy "bt" i mamy w którym miejscu był w momencie, kiedy przerwaliśmy
Z dużym prawdopodobieństwem akurat będzie w najcięższej części kodu, w tym przypadku w konstruktorze kopiującym stringa.
Your information is very interesting. Thank you for sharing https://myfedloan.us/
Thanks for sharing this info https://www.tellpopeyes.website
Thank you so much for helping with this wonderful article.
https://www.mygroundbiz.mobi/
https://www.mygroundbiz.mobi/
Nice info, thanks for sharing such detailed info.
https://www.dqfansurvey.org/
https://www.dqfansurvey.org/
Students are welcome to utilize our <a href="https://scholaron.com/subjects/human-rights">Human Rights Answers</a> available on <a href="https://scholaron.com/">Scholar On</a> with 100% quality and satisfaction guarantee. We aim at making all your educational endeavors fruitful with the help of multiple learning resources prepared with up-to-date academic needs of highered students.
Thanks for sharing this info https://www.mybalancenow.review/