陣列:
1.陣列一定不要開太大,int 型 128mb~3200萬,256mb~6400萬,注意char 佔1位元組,long int 佔4位元組,long long 佔8位元組 ,double 佔8位元組
char,short ,int ,long,long long,unsigned long long資料範圍
2.陣列下標中有減法的話一定要注意判邊界,不能訪問負數下標(windows下不會報錯)
3.陣列的指標到底指向空還是實際的數
4.多組資料與特殊要求的題如二分要記得初始化!!! 如果部分初始化的話看看留下的資料對現在會不會有影響!!
5.能不memset就不memset,次數多了會很慢。
字串
1.strlen一定不能放在迴圈裡,不然會t掉
2.gets可以接收空格;而scanf遇到空格、回車和tab鍵都會認為輸入結束,不能接收空格
3.string 型別的字串必須整個賦值,不能只給其中的一位賦值
4.hash 底數大於 字元種數,模數取個大質數或是unsigned long long自然溢位
字元
1.注意字元讀入時的回車與空格
佇列、棧
1.是否有多餘的狀態放入,爆空間
2.stl的雙端佇列會很慢,不如手打
3.判斷空的函式要放前面
最短路、圖論
1.spfa需判負環
2.spfa彈出佇列時要清空陣列
3.dijkstra不能跑負權邊
4.邊如果需要排序的話看看是否需要重新建邊(鄰接表)
搜尋
1.記得定義乙個陣列記錄有沒有訪問過
2.注意特判,防止死循
3.記得剪枝。
變數
1.乙個變數不能定義多次,注意區分全域性變數與區域性變數
2.多次用變數是否初始化
3.double 注意精度
數學
沒事多看看數學吧,省的在考場上對著一道很簡單的數學題抱怨自己沒記住公式。。。考完了抱怨這麼簡單的結論自己考場上沒推出來qaq。。。打表也會用到。。
for,while與if語句
1.注意打的for迴圈的括號與if語句的括號後有沒有多打乙個』;』
2.多重迴圈裡的變數注意區分
3.注意有無冗餘的計算和轉移
函式
1.cmath功能:計算x的y次冪。注意強轉
返回值:x不能為負數且y為小數,或者x為0且y小於等於0,返回冪指數的結果。
c++提供以下幾種pow函式的過載形式:
double pow(double x,int y);
float pow(float x,float y);
float pow(float x,int y);
long double pow(long double x,long double y);
long double pow(long double x,int y);
使用的時候應合理設定引數型別,避免有多個「pow」例項與引數列表相匹配的情況。
其中較容易發生過載的是使用形如:
int x,y;
int num=pow(x,y);
這是乙個比較常用的函式,但是編譯器會提醒有多個「pow」例項與引數列表相匹配。
可以使用強制型別轉換解決這個問題:num=pow((float)x,y);
數學、規律題
1.一般n很大,演算法複雜度要求接近o(n)或o(1)而沒法優化或者是題目**很難實現的題就是找打表規律。
2.公式一定要帶字母推!!
其他
1.不要想當然!!!
2.題目、樣例看不懂多問問。仔細看題,不要給自己增加難度
3.看題時記得標畫重點,記得看輸入輸出描述,注意輸入輸出順序
4.遇到拿不準的題先打暴力,不要以為只要給時間自己就一定能做出來orz
(4). 好的打表是可以過的,但是遇見題不能只想著打表,有的題仔細想想其實很簡單
5.遇到不會的題不要棄療,多看看,萬一會了呢qwq,不會就寫分段函式,再不會就騙分2333
6.聽說題面很長的題不會太難?
7.有時候有些看似很難的題是可以找規律的,開開腦洞也是極好的
8.函式分開打,打完乙個調乙個qwq
9.每次做題都像考試一樣打,爭取一遍ac
10.有時候好的暴力的時間複雜度可以接近dp
學習筆記 C語言 做題注意事項(僅做題)
由於太久不學c語言了,一些東西都忘完了,寫一些做題時遇到的注意事項 1 8進製定義為 int x 010 即前面加個0 16進製為int x 0x10 沒有二進位制的定義規範 2 for 在無約束條件時,預設為ture 3 轉義字元有三種形式 1.8進製 加8進製數字 2.16進製制 x加16進製制...
OC學習筆記 注意事項
alloc new retain之後都必須要呼叫release方法 計數器要變只有這幾種方法 retain release alloc new copy方法才會使計數器改變,誰想用人家物件,就對他進行retain操作,但在dealloc釋放本物件的時候也釋放引用的物件,先釋放引用的物件,然後釋放自己...
變數使用的注意事項 學習筆記
1 變數代表著記憶體中的乙個儲存區域 2 這個區域有自己的變數名稱和資料型別 3 go變數的三種使用方式 3.1指定變數型別,宣告後如果不賦值,則使用預設值 package main import fmt func main 3.2根據值,自動判斷適用型別,型別推導 package main imp...