關於陣列
數論演算法技巧
stl其他
while(scanf(「%d%d」,&n,&m)!=eof) 等價於
while(scanf(「%d%d」,&n,&m)==2)
前者eof為檔案結束符,較保險;
後者 == 後的數字為輸入的變數的個數;
不能只寫while(scanf(「%d%d」,&n,&m)) 這樣無法結束讀入
wwq大佬教的,希望我不要和他一樣打錯手讀2333
inline
void read(int &x)
開陣列 dp[n][m], dp[m][n] 在應用時是一樣的
若n>m 後者查詢更快
(a+b)%k=(a%k+b%k)%k;
(a*b)%k=((a%k)*(b%k))%k
(a/b)%k=(a*b^(k-2))%k=(a%k*(b^(k-2)%k))%k
int ask(int x)
return ans;
}
1.始終讓l合法,r不合法,答案輸出l,
r在題目找到最不可能合法的情況後,再進一步使之不合法(例如 跳石頭 可以讓r等於 河道長度+1)
2.while(r-l>1)
是預設大根堆!!!!!!!
只能用cin,cout;
想加速可以用scanf讀char陣列,賦值給string
在末尾插入元素 s.push_back(c);
可以對已經使用過的位置直接修改
string a
;cin>>a
;a[0]='b';
cout<;
在cpp中 1<< i 預設是int,因為1預設是int
強轉long long要寫成 1ll<< i
C 之奇技淫巧
typedef struct data 0 pdata 0 typedef struct data 1 pdata 1 結構體data 0與data 1在性質上沒有什麼不同,它們的size是相等的,都是8.但在用法上有很大區別。例 pdata 0 stack0 pdata 0 malloc max ...
git 奇技淫巧
例如 1.0.0 git tag a 1.0.0 m 1.0.0 版本的備註資訊.複製 git push origin tags 複製 例如 1.0.0 git tag d 1.0.0 複製 刪除遠端標籤需要先刪除本地標籤,再執行下面的命令 git push origin refs tags 1.0...
Git的奇技淫巧
git常用命令集合,fork於tips專案 git是乙個 分布式版本管理工具 簡單的理解版本管理工具 大家在寫東西的時候都用過 回撤 這個功能,但是回撤只能回撤幾步,假如想要找回我三天之前的修改,光用 回撤 是找不回來的。而 版本管理工具 能記錄每次的修改,只要提交到版本倉庫,你就可以找到之前任何時...