一些小东西

万能头:

#include<bits/stdc++.h>

cin加速:

ios::sync_with_stdio(0);
cin.tie(0);

快读:

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-48;ch=getchar();}
	return x*f;
}

或者

template<typename T>inline void read(T &FF){
	T RR=1;FF=0;char CH=getchar();
	for(;!isdigit(CH);CH=getchar())if(CH=='-')RR=-1;
	for(;isdigit(CH);CH=getchar())FF=(FF<<1)+(FF<<3)+(CH^48);
	FF*=RR;
}

·Char类型字符串:用scanf输入多个字符串时用空格隔开(即空格不读入),而gets()可以读入一整行(即可以读入空格),输出可以用printfputs(puts函数会输出一整个字符串加上一个空格)

·String类型:cin输入,遇到空格停止。getline(cin, )则可以读入整行,包括空格。

·三元运算符可以简洁表示递归算法。

·最大公约数除了使用辗转相除法外,还可以用二进制最大公约数法:

int gcd(int m,int n) {  
	    if(m == n)  
	        return m;  
	    if(m < n)  
	        return gcd(n,m);  
	    if(m%2 == 0) {  
	        if(n%2 == 0) return 2*gcd(m/2,n/2);  
	        else return gcd(m/2,n);  
	    }  
	    else {  
	        if(n%2 == 0) return gcd(m,n/2);  
	        else return gcd(n,m-n);  
	    }  
}

储存图的方法:1.邻接表2.链式前向星(这里就不放代码了
<<运算最多只能31位

posted @ 2024-12-11 10:32  孤枕  阅读(20)  评论(0)    收藏  举报