#24367: 不要用vector


fire5386 (becaidorz)

學校 : 國立清華大學
編號 : 115822
來源 : [140.114.253.147]
最後登入時間 :
2024-10-03 15:39:22
a981. 求和問題 | From: [61.230.25.215] | 發表日期 : 2021-02-09 18:59

直接宣告一般的陣列就好了,這題dfs在讀取陣列很多次,vector慢的缺點就被放大了

用vector:AC (6.8s, 356KB)

用一般陣列:AC (0.3s, 336KB)

 
#28167: Re:不要用vector


lfs92002 (GMan每日殺水題1.6449340668482264364...)

學校 : 國立臺南第一高級中學
編號 : 19129
來源 : [140.114.89.50]
最後登入時間 :
2024-10-21 16:23:26
a981. 求和問題 | From: [61.230.34.236] | 發表日期 : 2021-11-16 02:50

直接宣告一般的陣列就好了,這題dfs在讀取陣列很多次,vector慢的缺點就被放大了

用vector:AC (6.8s, 356KB)

用一般陣列:AC (0.3s, 336KB)


這點應該是同學可能有地方不當使用 vector 造成的結果,個人實測是僅有在 0.1 s 內 (5%) 的差異而已。

 
#29273: Re:不要用vector


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a981. 求和問題 | From: [27.51.107.167] | 發表日期 : 2022-02-10 22:08

直接宣告一般的陣列就好了,這題dfs在讀取陣列很多次,vector慢的缺點就被放大了

用vector:AC (6.8s, 356KB)

用一般陣列:AC (0.3s, 336KB)


這點應該是同學可能有地方不當使用 vector 造成的結果,個人實測是僅有在 0.1 s 內 (5%) 的差異而已。


分享一下我的解題經驗。

我也是用vector,一開始TLE (8s),後來發現我遞迴傳遞vector是pass by value,整個vector會複製一份,所以很慢,後來改成pass by reference就AC (0.7s)

 
ZeroJudge Forum