1、关于大整数问题1
2
3long long a;
unsigned long long b;
cin>>a>>b;
2、关于输出精度问题1
2
3
4
5
6
int main()
{
cout.setf(ios::fixed);
cout<<<<setprecision(6)<<endl; //固定小数点后6位
}
3、关于vector的二维数组1
2
3vector<vector<int> >dp(n);//定义n维的数组,每一维列数未定(初始为0),GCC
vector<vector<int> >dp(n,0);//与上相同,但是在GCC中编译不过,VS2010可以通过
vector<vector<int> >dp(n,vector<int>(m,0));//n行m列数组,初始都为0;GCC,VS2010
4、关于std::assign用法1
2
3vector<int> a(10,9);
vector<int> b;
b.assign(a.begin(),a.end());//The range used is [first,last)
5、关于字符串截取1
2string str("abcdf");
str.substr(0,3); //函数原型string substr (size_t pos = 0, size_t len = npos) const;
6、关于三角函数1
2
3
const double pi = acos(-1); //获取pi的值
double thea = angle * pi / 180; //angle的弧度制
7、关于幂1
2
pow(double x, Int y); //x^y,x必须是浮点数,不能为整数
8、关于int最大值,最小值的表示方法1
2int a = 1<<31; //32位int最小值
int b = int(1<<31) - 1; //32位int最大值
9、关于大数1
2typedef long long LL;
const LL Inf = (LL)1e18;
10、个人出WA后,犯的错误总结
(1)、逻辑错误(例如:微软员工福利,把结果放在了循环里面)
(2)、题意理解错误(仔细读题)
(3)、容易被样例误导(例如,腾讯的简单游戏,样例只有两组护卫队,其实实际数据有n支护卫队,导致逻辑错误)
(4)、几何题(把数学公式推导完毕后,再写)
(5)、关于图、树的问题(建树,建图比较重要)
(6)、对于小规模的题,一般暴力枚举可以搞定。
11、重定向输入输出流1
2
3
4freopen("in.txt", "r", stdin);
freopen("out.txt", "W", stdout);
fclose(stdin);
fclose(stdout);