{i=j; break;}??? Cái này giảm i để làm gì
…
if(F[j]==tmp)
tốt nhất là sinh hết 1000 số fibinacci rồi tìm kiếm nhị phân không hay hơn là cứ tìm tuần tự thế này. Nếu q=1000 và n đều là 1000 thì tìm theo cách này k chạy nổi đâu
{i=j; break;}??? Cái này giảm i để làm gì
…
if(F[j]==tmp)
tốt nhất là sinh hết 1000 số fibinacci rồi tìm kiếm nhị phân không hay hơn là cứ tìm tuần tự thế này. Nếu q=1000 và n đều là 1000 thì tìm theo cách này k chạy nổi đâu
Đúng là chạy không nổi
Em làm lại bằng cách sinh hết như anh nói, và nó lại chạy nhanh hơn.
Em cứ tưởng số lớn tới đâu sinh tới đó thì tốt hơn chứ nhỉ, sao chậm hơn được ?
Chắc là thời gian so sánh khá đáng kể.
Giả sử truy vấn là nhu anh nói: nếu 1 lần thì thời gian là như nhau. nhưng ở lần truy vấn tiếp theo em phải so sánh với 1000 số fibo mà lại so sánh chuỗi trong th đó: xấu nhất sẽ chạy 1000chiều dài chuỗi ~10^6
Trong khi đó nếu tìm np: dpt =log1000 10^3 ~10^4 thoi
Nếu chạy toàn bộ câu hỏi thời gian ~10^9 và 10^7 thì 10^7 chạy tốt trong 1s còn cái kia tầm 15-20phuts