?寫在前面:大家好!我是
AC-fun,我的昵稱來自兩個單詞Accepted和fun,我是一個熱愛ACM的蒟蒻,如果博客中有不足或者的錯誤的地方歡迎在評論區或者私信我指正,感謝大家的不吝賜教,我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/,非常感謝大家的支持,一起加油,沖鴨!
?用知識改變命運,用知識成就未來!加油 (? ??o??)? (? ??o??)?
文章目錄
- 簡介
- 由資料范圍反推演算法復雜度以及演算法內容
- 熟悉常見的 2 的多少次方
- 頭檔案模板
- 全域變數定義資料范圍
- 全域變數開陣列
- 0x3f3f3f3f
- 熟悉各種變數的資料范圍
- 藍橋杯一定要寫return 0;
- 陣列開多大?
- 關于輸入輸出的速度
簡介
?本篇博客來總結一下博主所了解的有關演算法競賽的一些小技巧,如果有不足或者需要補充的地方歡迎大家評論留言,我會隨時補充更新,
由資料范圍反推演算法復雜度以及演算法內容
?詳見博客:如何由資料范圍反推演算法復雜度以及演算法內容
熟悉常見的 2 的多少次方
- 21 ~ 210 分別是:2, 4, 8, 16, 32, 64, 128, 256, 512, 1024
- 215 = 32768
- 216 = 65536
- 220 = 1 048 576(大概是106)
- 263 = 9.2233720368548e+18(大概是1018)
頭檔案模板
?比賽之前可以先開幾個檔案來寫每一個題目,先打好一個框架,然后多復制幾份,可以節省時間,如果程式還需要其他的頭檔案比賽的時候直接添加即可,
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
int main(){
return 0;
}
全域變數定義資料范圍
?一般使用 const 定義一個全域變數定義資料范圍,比如資料范圍為 n = 1000000,那么就可以定義為:
#include <iostream>
using namespace std;
const int N = 1000010;
int main(){
return 0;
}
全域變數開陣列
?C++ 全域變數存盤在 堆空間 中,區域變數存盤在 堆疊空間 中,將較大的陣列開成全域變數不容易爆堆疊,而且自動將變數全部初始化,如果是數字那么全部初始化為 0,bool 陣列全部初始化為 false,而且定義為全域變數如果引數要使用的話就不用再傳參了,直接在函式中使用即可,
#include <iostream>
using namespace std;
const int N = 1000010;
int q[N][N]; // 全部自動初始化為 0
bool st[N]; // 全部自動初始化為 false
int main(){
return 0;
}
0x3f3f3f3f
?這是一個很神奇的數字,當需要把一個陣列中的數值初始化成 正無窮 時,為了避免加法算數上溢或者繁瑣的判斷,可以使用#include<cstring>頭檔案中的 memset() 函式 memset(a, 0x3f, sizeof a) 給陣列賦值成 0x3f3f3f3f 的值來代替,這個數轉換成十進制為:1061109567 它的兩倍為:2122219134,而 int 的最大值為:2147483647,所以在很多題目中用它表示正無窮可以更加方便我們寫程式,
熟悉各種變數的資料范圍
?具體的資料范圍請看:C/C++ 各種變數的資料范圍
藍橋杯一定要寫return 0;
?如果參加藍橋杯不寫 return 0; 的話即使程式寫對了,運行結果也沒錯,也會不得分,所以在平時練題的時候要養成好習慣,
陣列開多大?
?一般為了防止越界,會將陣列大小多開 10 個,比如資料范圍為 1 <= n <= 10000 那么最好將陣列大小開到 10010,
關于輸入輸出的速度
?當題目的資料范圍為 **N >
1
0
5
10^5
105**時,在解題時最好使用 scanf() 輸入,用 printf() 輸出,如果用 cin 和 cout 所需的時間會更多,可能會超時,所以當輸入資料的規模超過
1
0
5
10^5
105 時 最好使用 scanf() 輸入,用 printf() 輸出,規模小于
1
0
5
10^5
105 兩者消耗的時間差不多,都可以使用,
未完待續,持續更新中……
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/271249.html
標籤:其他
上一篇:MybatisPlus邏輯洗掉
下一篇:web安全之web介紹

