#37352: Java io優化


liaoweichen1024@gmail.com (M_SQRT)

學校 : 新北市立新莊高級中學
編號 : 195452
來源 : [122.116.111.175]
最後登入時間 :
2024-11-10 18:46:03
c431. Sort ! Sort ! Sort ! | From: [118.166.158.2] | 發表日期 : 2023-09-03 10:29

這邊不細談解法,單純分享我的輸出入配置

輸入
DataInputStream類
//儲存輸入資料
byte buf[] = new byte[BUF_SIZ]; //BUF_SIZ我設1024
再自己寫取整

輸出
BufferedWriter類
從頭到尾只用一個char陣列儲存遞增數列
char ans[] = {48, 48, 48, 32};
使用bw.write(ans, s, l);輸出,並且對s, l進行調整。

我原本呼叫了100次bw.flush();
#3MLE #4TLE
後來改成結尾呼叫一次bw.flush()就過了,而且時間還不賴,我是不知道為什麼 bw.flush()這麼耗時啦。

2018加強記憶體限制後就沒什麼人通過了,上述的輸出入配置可以做到AC (0.5s, 4.2MB)

後經實測,用DataOutputStream輸出會再快一些,不過寫法比較麻煩就是了,跟DataInputStream差不多。
AC (0.4s, 4MB)


希望這篇解題報告能幫助到你^_^

 
ZeroJudge Forum