doublehypot(double x, double y)
求三角形斜邊
(hypotenuse)
doublefrexp(double x, int &exp)
將x分解成尾數和指數,指數存入exp,返回尾數
1..n的圈,迴圈數d步。
p = (p + d + n -
1) % n +
1;(從1到n)
p = (p + d + n) % n;(從0到n - 1)
bool isalpha(char)
bool isdigit(char)
char toupper(char)
double pow(double a, double b) a ^ b
返回double,誤差挺大的,比如int t = 2,pow(10,t),不同編譯器,有可能返回99.99999,直接賦給int,只得到99。
doubleround(double x)
將x向最近的整數取整,即四捨五入,然後轉化為double。
一定要用pow可以(int)round(pow(10,t))
或者直接迴圈t次乘10。
double floor(double x)
double ceil(double x)
int p =lower_bound(a , a + n, x) - a;
在有序陣列中, a到a + n中尋找大於等於x的數,返回第乙個符合條件的數的位址。
// p就為座標
// if(a[p] == x)...
vector v;
v.resize(int t) //改變大小,使只保留0 - t-1個元素
v.pop_back() //刪除最後乙個元素
stand(time(null));//程式執行開頭呼叫一次即可,不能每次產生隨機數時呼叫。
rand();//隨機均勻生成[0,rand_max]中的整數,rand_max至少為32767
若要生成[0,n]中的數,rand() / rand_max * n,四捨五入,若n很大精度稍差。
string s;
s.substr(id,len);//以下標id為開頭,長度為len的子串
s.substr(id);//以下標id為開頭,一直到末尾的子串
s.find(char c);//返回第乙個該字元的下標
if(s.find(char c) !=string::npos) {} //當找得到字元時才進行操作
c++ stl 求向量中的最大值和最小值
min_element(v.begin(),v.end())
返回最小的元素的位置
max_element(v.begin(),v.end())
序列 [first, last)。
trick:
數字比較大小:1.先比位數,位數多的數大 2.再比數字大小,從前往後,數字大的數大
字串比較大小:1.從前往後,比較字元大小,字元大的串大 2.再比位數,前面字元均一樣,最後長的串大
時間比較大小(進製相同12/24,格式hh:mm:ss)1.從前往後,數字大的時間大。 所以可以直接用字串比較
tip:
string t;
t = 'a' + t; 每次其實都將t向後移動,雖然可以這麼寫,但是容易超時,(3e5 2000ms + tle)
t += 'a'; 每次在最後加,reverse(t.begin(),t.end()) (相同規模下,140ms)
可能有用科技 系列目錄
收錄一下我這個爛人的擺爛記錄。最小直徑生成樹 oi wiki部分內容有誤,待勘誤,文末給出 鏈結,前面有些部分有點價值。子串行自動機 非常容易理解的啥也不是的自動機。多項式任意次冪 任意次根 大常數且沒用。字尾樹介紹很不全面,因為感覺這玩意比 sam 麻煩就徹底沒心思寫下去了。線性遞推與bm演算法 ...
今天可能有點衰
會同學 上午去廣州找乙個小學一直到高中的同學,昨天跟他約好的,他說今天到了給他 誰知道這個傢伙放我鴿子,我在賽馬場等了他1個小時,手機一直關機,從我這裡到那裡坐公汽得差不多兩個小時呢,幸好這兩天天氣轉涼,不然我可饒不了他。下午兩點過他才發簡訊說剛起床,真是個混蛋。本來打算是先會了他再去白雲區見另乙個...
關於日期的sql,做報表的時候可能有用
得到年月,日,季度 select to char 日期,yyyymmdd date id,to char 日期,yyyy 年 to char 日期,mm 月 to char 日期,dd 日 date name,to char 日期,yyyymm month id,to char 日期,yyyy 年 ...