前言:這裡每個坑都用了我超過1個小時,好多水題都是因為這些小坑卡了1個小時,賊氣
沒辦法,coding能力比較弱。記下來這些教訓,也讓後人也看看,避開一些坑。不定期更新
最後更新日期:2018-08-01
1.cin\cout太慢導致超時
找了很久,發現要兩個命令一起用。
ios::sync_with_stdio(false);cin.tie(0);
2.變數定義的問題(全域性,區域性)
開始acm道路之後,我習慣了把很多變數放到全域性變數,省去函式之間引用傳遞的麻煩,
需要初始化的時候用memset,這個做法方便但其實有不安全的地方。
那就是遞迴函式!因為在遞迴函式中,某個變數在某次遞迴中都有乙個值,可是如果
將它宣告為全域性變數,那該變數就不隨著遞迴函式而改變,從而導致同樣的**,
函式內使用區域性變數的**a了,而全域性變數的wa了。
3.用優先佇列的時候,「greater」與 「>」中間要有乙個空格,這個坑只花了我3秒
4.在結構體、類中需要儲存字串的時候,可能導致的記憶體溢位錯誤(re)
我們知道,可以用 string=char來初始化字串。於是有次做字典樹,用節點儲存乙個字串,我在節點中宣告了
個string變數,在insert的時候先new node(),然後直接讓string=char導致re。這是因為new的時候不知道
string占用的空間大小所以沒分配(推斷,應該是),解決方法,不要在node結構體/類中宣告string,
而宣告char* val; 在需要賦值的時候,使用以下**來將字串儲存到節點中。
1 p->val = (char*)malloc((strlen(v)+1)*sizeof(char));//p是指向node的指標,v是待儲存的字串
2 strcpy(p->val,v);
處理資料(文字)時遇到過的坑
訓練詞向量時,本來就是準備好格式一定訓練文字,然後呼叫gensim開始訓練。但是訓練過程中出現了這樣的么蛾子,編碼坑 unicodedecodeerror utf8 codec can t decode bytes in position 4229 4231 invalid continuation...
使用TImageList時遇到過的蠢問題
一般的windows程式,會有工具欄圖示 選單圖示,工具欄和選單欄圖示由於顯示效果的需要,尺寸一般是不一樣的,工具欄的大,選單的小。一般的選單或者工具欄又會有可用和不可用兩種狀態,所以又需要準備彩色和灰色兩種圖示。這樣一來,同乙個圖示,實際上需要大小不同 可用與不可用的四個圖。以前我就為每乙個圖示準...
在選擇資料庫的路上,我們遇到過哪些坑?(1)
編者按 你會怎麼選擇資料庫,是關聯式資料庫 xml 資料庫 資源描述框架 rdf 還是圖形資料庫?這篇演講深入而生動地 了各種選擇。本文系國內 itom 管理平台 oneapm 編譯呈現。備註 在去年十月於舊金山舉辦的 graphconnect 大會上,factgem 公司首席技術官 clark r...