看板 C_and_CPP 關於我們 聯絡資訊
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 在解題目時,有一個 bug 一直 de不出來 想請各位幫我看看哪裡出了問題 謝謝! 我的解題想法: 一開始利用a陣列計算每個數的次數 接下來建立一個 tree 去遞迴儲存點的最大值 然後再用另一個index array去儲存tree中每個點對應的值是a 陣列中的哪個元素 我卡住的地方: 除了呼叫 root 的 index 也就是輸入 1 和1,000,000 會回傳正確數字,輸入其他任何兩個 數字結果都是1 最可能出現問題的應該是 findMax函式 不過自己找了很久還是沒有發現問題在哪 和我的程式碼: 餵入的資料(Input): 1 10 預期的正確結果(Expected Output): 20 錯誤結果(Wrong Output): 1 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) https://www.codepile.net/pile/VvOAOdgA 補充說明(Supplement): 題目網址 https://zerojudge.tw/ShowProblem?problemid=d712 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.9.114.88 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1653574376.A.54C.html
firejox: 為什麼你的 findMax 有些沒 return05/27 15:22
謝謝f大 我後來發現自己沒有return 加上調整陣列初值問題就可以正常輸出了!
a58524andy: calc跑完a[n]不是3n+1的次數嗎 那他問[i,j]裡面05/27 15:34
a58524andy: 誰最大不就a[i]掃到a[j]就好05/27 15:34
回a大 因為這題目的測資有點特殊 所以這樣的話會超時 試了很多遍
longlongint: 查詢量有10M char, 查詢範圍10^7,2秒要做完05/28 11:11
longlongint: 上網查建議解法是記憶法+偽線段樹05/28 11:15
longlongint: 建議轉prob_solve板05/28 11:15
謝謝l 大 之前不知道有這個版! 問題已經順利解決了 ※ 編輯: password5353 (101.9.49.56 臺灣), 05/28/2022 14:32:13