刷題演算法小技巧

2021-07-22 06:07:42 字數 928 閱讀 6930

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 我...