演算法競賽中 C 常用方便的函式

2021-08-25 02:33:34 字數 1490 閱讀 6132

目錄

_builtin_popcount()

_builtin_popcountll()

next_permutation(p,p+n)

lower_bound() ,up_bound()

assert(bool a);

二進位制運算子:

64位最大數的邊界

字串函式:

priority_queue

unique

計算32位二進位制中多少個1

計算64位二進位制中多少個1

long long 寫法看自codeforces  放回乙個int值

while(next_permutation(p,p+n))
全排列函式 陣列p  一共有n個元素

標頭檔案: #include

lower_bound(first, last, val) 返回非遞減序列【first, last】中第乙個大於等於val的數的位置         

用於lcs    eg:得出的值減去起點的位置就可以得出是第幾個數

upper_bound()返回非遞減序列【first, last】中第乙個大於val的數的位置

標頭檔案:#include

如果a == false, 終止程式執行。

按位與運算子(&):1&1=1    1&0=0  0&1=0   0&0=0

按位或運算子(|):  1|1=1     1|0=1    0|1=1    0|0=0

異或運算子(^):1^1=0    0^1=1   1^0=1    0^0=0

1、交換律

2、結合律(即(a^b)^c == a^(b^c))

3、對於任何數x,都有x^x=0,x^0=x

4、自反性:  a^b^b=a^0=a;

<<: 左移運算子,num << 1,相當於num乘以2

>>:  右移運算子,num >> 1,相當於num除以2

usigned long long lim = ~0ll >> 1;

usigned 無符號

printf(「%llu」,lim);

c語言寫法:

strcpy     strncpy   

stcat 

strchr    strrchr 

strcmp   

strlen 

strspn    strcspn

strerror

strtok

strstr  strpbrk

atoi

詳細解釋:   傳送門

傳送門m=unique(t+1,t+1+n)-t-1;//m為不重複的元素的個數

原序列:6 9 4 6 4

排序後:4 4 6 6 9

unique(元素去掉重複的)後:4 6 9 6 9  (前m位數字無重複,其他數字跟排序後的序列想比不改變)

演算法競賽中的Java常用API

1 字串中大小寫轉換 1 保留n位小數 bigdecimal.setscale bigdecimal j new bigdecimal 2.225 setscale 2,bigdecimal.round half even system.out.println j 如果捨棄部分左邊的數字為偶數,則作...

演算法競賽中常用的STL

toc 可以理解為bit這個資料型別的陣列 即取值只為0 1 大多數情況下,每個元素所佔記憶體確實只有1bit,是bool型別的1 8。方便各種位操作的進行。構造方法 都需要在定義時指明長度 123 4567 8 預設 std bitset 16 foo 填充0 整數 std bitset 16 f...

方便的批處理 演算法競賽程式測試器

乙個小批處理,可以一鍵匯入測試資料並且顯示答案和程式返回值,能省很多場上時間。rem code by dandan echo offtitle faq 專用偵錯程式 set p ming 請輸入題號 if not exist ming txt echo 請輸入測試資料並儲存!type nul min...