1.大數取餘:
對於較大數快速取餘
引數:char s 為儲存大數的陣列
modnumber 為mod
long long modnumber(char * s,int modnumber)
return sum;
}
2.快速冪(極大數)取餘:
對於較大數快速取餘
引數:a的b次方 對 c 取餘
long long powermod(long long a, long long b, long long c)
return ans;
}
3.資料型別範圍:
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
4.cin cout 速度慢問題
ios::sync_with_stdio(false);
5.幾個提高速度的優化方案
多個if -> 陣列實現
刷題小技巧(一)
相加演算法是我自己定義的名字,具體問題如下 假設每次迴圈返回乙個int,第一次返回1,第二次返回2,第三次返回3,最後演算法的結果是123,如何計算?這個 問題看似簡單其實有乙個問題,就是你並不知道迴圈的次數是多少,也就是說無法確定1乘以的究竟是10的幾次方,下面介紹兩種方法 方法一 用stack的...
刷題筆記 小技巧
如果需要降序 bool cmp int x,int y 首先定義排序規則,然後使用過載。sort a,a len,cmp 對於結構體 strucr ebuf 1000 重寫操作符 定義在結構體內 bool operator const e b const cmp 函式 bool cmp e a,e ...
Python 刷演算法題技巧
以空格為間隔輸出 行末無空格 f dfs is a 格式化字串簡短寫法,前面加乙個 f 與 區別 結果都是浮點數,只有當兩個運算元其中有浮點數結果才為浮點數 一行寫多個語句用 分開,乙個語句一行寫不下行末用 用,結尾的不用加。if 寫法 普通寫法if condition if condition 我...