ACM比賽一些需要注意的極端情況

2021-08-08 12:19:27 字數 471 閱讀 7858

wa類:

有時候精度要求很高時(超過1e-9):

if{}else{}方式賦值會出錯

(flag)?dp[0][0]=1:dp[0][0]=0;賦值方式會出錯

以上請用dp[0][0]=(flag)?1:0;方式賦值

如還有很多奇葩情況,比如一朋友寫出了很神的**,加上中間注釋行,就是ac,去掉就是wa,按道理,注釋在編譯的時候是會被自動忽略掉的,為什麼出了這種情況呢,並不知道。所以,注釋不是特多的時候,別刪了,直接交吧。

tle類:

迴圈很多時:

max()或者min()函式會超時,請用if{}else{}做判斷

陣列很大時:

memset()函式會超時,請用for迴圈賦初值

有時自己刷題的時候,請提交g++,c++會比g++慢導致tle

mle類:

陣列很大時:

有時使用memset()函式會mle

如:

foreach 一些需要注意的地方

通常迴圈訪問陣列都用for迴圈 例如 for i 0 i i 3 i echo arr i 但通過手工 操作乙個大陣列來說,用foreach迴圈的 更少 上面的 可以這樣寫 foreach arr as value echo value 下面來仔細 下foreach使用中的一些問題 1.foreac...

使用namespace需要注意的一些東西

使用c 標準庫的任何識別符號,一般來說有三種選擇,但是using directive有時候會出現問題。首先using namespace std這種用法並不會導致效能上的變化。而是在程式比較大的時候,會出現意外的名稱衝突。例如使用如下的形式 using namespace a using names...

使用SQL SERVER需要注意的一些細節

養成寫注釋的習慣。比如儲存過程,我們不僅在建立儲存過程的時候寫注釋,而且是以後的開發版本中修改了儲存過程,那麼也要寫注釋。儲存過程不要以sp 開頭,因為系統儲存過程都是以sp 開頭的。而且在執行sp 開關的儲存過程時資料庫引擎首先在master資料庫中查詢這個儲存過程,如果找不到,再去其它資料庫查詢...