【★★★★★模板专区★★★★★】
生活随笔
收集整理的這篇文章主要介紹了
【★★★★★模板专区★★★★★】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模板們。。。
注釋
這是一個注釋。恩。這些模板是給我自己復習用滴,所以只能在我愚笨的認知范圍內盡量精妙了。。。。
所有模板默認有加基本頭文件如下:
?
#include<iostream> #include<cstdlib> #include<cstdio> #include<cstring> using namespace std;?
每個模板都有效果,代碼和警告,需要的還會配上其他輔助的東西。。
?
?
排序模板
#include<algorithm> sort(a+1,a+n+1);?
?? 柯嵩宇大神說sort在編譯器中會判斷n的大小并選擇合適的排序方式,效果比qsort好。
?
文件讀入讀出
?
freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);不需要寫freclose這種不存在的東東
?
?? 輸出文件也是用freopen打開不是close。。。。。
?
快速讀入
?
inline int read() { int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; }?
并查集尋找祖宗與路徑壓縮
?
int find(int x){return x==father[x]?x:father[x]=find(father[x]);} 背吧?
? 黃巨大的代碼一定是很精妙滴。雖然我看不懂。
?
快速讀入
inline void readInt(int &x) {??????? char cc; bool sign = false;
??????? for (cc = getchar(); cc<'0' || cc>'9'; cc = getchar()) if (cc=='-') sign = true;
??????? for (x = cc-'0',cc = getchar(); cc>='0' && cc<='9'; cc = getchar()) x = x*10+cc-'0';
??????? sign && (x=-x);
}
背吧。。
?
? cc是因為。。我原來的代碼里面有個c了。。。
?
最大公因數
//單個數的... (1)正常的 /*int gcd(int a,int b) {while (b!=0){int tmp=a%b;a=b;b=tmp;}return a; } */ (2)精妙的 int gcd(int x, int y) { return y == 0 ? x : gcd(y, x % y); } //多個數的... O(nlog常數): 從第三個數開始,每個數和前面的數的gcd求gcd。。。求gcd時間復雜度是O(log常數),線性掃描是O(n) ,所以如上。。?
?
?
?
??
?
轉載于:https://www.cnblogs.com/seekdreamer/p/3808535.html
總結
以上是生活随笔為你收集整理的【★★★★★模板专区★★★★★】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: debian 安装curl 很简单的一步
- 下一篇: java.util.concurrent