#43300: RE (code:127)


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [61.231.20.66]
最後登入時間 :
2025-06-15 17:49:41

如果你是用bitset

可以試試看把 yourBitset.set(number);

改成 yourBitset[number] = true;

至於為什麼我也不清楚 :/

有大神能解釋為什麼嗎@@

#44403: Re: RE (code:127)


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

如果你是用bitset

可以試試看把 yourBitset.set(number);

改成 yourBitset[number] = true;

至於為什麼我也不清楚 :/

有大神能解釋為什麼嗎@@


以下純粹是我的猜測,不確定是否真的是這樣:

bitset.set()會自動檢查是否超出範圍,如果超過則會throw exception,為了這個檢查需要使用較大量的記憶體,結果卻發生記憶體不足的情況。

另外,實測發現你的程式碼b.set(t)前面加上if(t>=0 && t<10000000)也能AC,大概是編譯器偵測到不可能超出範圍,於是忽略掉範圍檢查。

#44833: Re: RE (code:127)


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [61.231.20.66]
最後登入時間 :
2025-06-15 17:49:41

如果你是用bitset

可以試試看把 yourBitset.set(number);

改成 yourBitset[number] = true;

至於為什麼我也不清楚 :/

有大神能解釋為什麼嗎@@


以下純粹是我的猜測,不確定是否真的是這樣:

bitset.set()會自動檢查是否超出範圍,如果超過則會throw exception,為了這個檢查需要使用較大量的記憶體,結果卻發生記憶體不足的情況。

另外,實測發現你的程式碼b.set(t)前面加上if(t>=0 && t<10000000)也能AC,大概是編譯器偵測到不可能超出範圍,於是忽略掉範圍檢查。


!!

原來如此

聽起來滿有道理的

感謝大大解惑( ˃̶͈̀ロ˂̶͈́)੭ꠥ⁾⁾

另外冒昧請問一下

->實測你的程式碼b.set(t)前面⋯⋯

這是什麼意思

ZJ有辦法看得到其他人提交的程式碼嗎・ࡇ・

可以的話可否請教要如何看到其他人的程式碼

我希望可以把自己的 submission 和其他人的比較

看看其他人或許有更好的寫法

 thx

#44838: Re: RE (code:127)


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

如果你是用bitset

可以試試看把 yourBitset.set(number);

改成 yourBitset[number] = true;

至於為什麼我也不清楚 :/

有大神能解釋為什麼嗎@@


以下純粹是我的猜測,不確定是否真的是這樣:

bitset.set()會自動檢查是否超出範圍,如果超過則會throw exception,為了這個檢查需要使用較大量的記憶體,結果卻發生記憶體不足的情況。

另外,實測發現你的程式碼b.set(t)前面加上if(t>=0 && t<10000000)也能AC,大概是編譯器偵測到不可能超出範圍,於是忽略掉範圍檢查。


!!

原來如此

聽起來滿有道理的

感謝大大解惑( ˃̶͈̀ロ˂̶͈́)੭ꠥ⁾⁾

另外冒昧請問一下

->實測你的程式碼b.set(t)前面⋯⋯

這是什麼意思

ZJ有辦法看得到其他人提交的程式碼嗎・ࡇ・

可以的話可否請教要如何看到其他人的程式碼

我希望可以把自己的 submission 和其他人的比較

看看其他人或許有更好的寫法

 thx


你自己把程式碼貼上來,我才能看到啊

#42980

#44839: Re: RE (code:127)


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [61.231.20.66]
最後登入時間 :
2025-06-15 17:49:41

如果你是用bitset

可以試試看把 yourBitset.set(number);

改成 yourBitset[number] = true;

至於為什麼我也不清楚 :/

有大神能解釋為什麼嗎@@


以下純粹是我的猜測,不確定是否真的是這樣:

bitset.set()會自動檢查是否超出範圍,如果超過則會throw exception,為了這個檢查需要使用較大量的記憶體,結果卻發生記憶體不足的情況。

另外,實測發現你的程式碼b.set(t)前面加上if(t>=0 && t<10000000)也能AC,大概是編譯器偵測到不可能超出範圍,於是忽略掉範圍檢查。


!!

原來如此

聽起來滿有道理的

感謝大大解惑( ˃̶͈̀ロ˂̶͈́)੭ꠥ⁾⁾

另外冒昧請問一下

->實測你的程式碼b.set(t)前面⋯⋯

這是什麼意思

ZJ有辦法看得到其他人提交的程式碼嗎・ࡇ・

可以的話可否請教要如何看到其他人的程式碼

我希望可以把自己的 submission 和其他人的比較

看看其他人或許有更好的寫法

 thx


你自己把程式碼貼上來,我才能看到啊

#42980

超好笑ww

我完全忘了我自己把程式碼貼出來過🤡

感謝大大不吝撥空回覆