c++:人类孤儿技巧
-
为了减小误差的影响,一般改成四舍五入,即floor(x+0.5)。
-
目前几乎在所有的比赛平台上,int都是32位整数-2147483648~2147483647。
-
long long在Linux下的输入输出格式符为%lld,但Windows平台中有时 为%I64d。
-
可以使用time.h和clock()函数获得程序运行时间。常数 CLOCKS_PER_SEC和操作系统相关,请不要直接使用clock()的返回值,而应总是除以 CLOCKS_PER_SEC (double)clock() / CLOCKS_PER_SEC
-
在“scanf("%s", s)”中,不要在s前面加上“&”符号。如果是字符串数组char s[maxn] [maxl],可以用“scanf("%s", s[i])”读取第i个字符串。注意,“scanf("%s", s)”遇到 空白字符会停下来
-
可以用sprintf把信息输出到字符串,用法和printf、fprintf类似。但应当保证字符串足够大,可以容纳输出信息
-
字典序。所谓字典序,就是字符串在字典中的顺序。一般地, 对于两个字符串,从第一个字符开始比较,当某一个位置的字符不同时,该位置字符较小的 串,字典序较小(例如,abc比bcd小);如果其中一个字符串已经没有更多字符,但另一个 字符串还没结束,则较短的字符串的字典序较小(例如,hi比history小)。字典序的概念可 以推广到任意序列,例如,序列1, 2, 4, 7比1, 2, 5小。
-
字符还可以直接用ASCII码表示。如果用八进制,应该写 成:“\o”,“\oo”或“\ooo”(o为一个八进制数字);如果用十六进制,应该写成“\xh”(h为 十六进制数字串)。
-
-n的内部表示是 2^32-n。这就是著名的“补码表示法”(Complement Representation)
在多数计算机内部,整数采用的是补码表示法 -
为了使用方便,往往用“typedef struct { 域定义; }类型名;”的方式定义一个 新类型名。这样,就可以像原生数据类型一样使用这个自定义类型。
-
同类型结构体间可以直接赋值
-
强制转换成浮点数运算 a*1.00/b
-
<<左移位*2^n >>右移位/2^n
-
用double开范围min=1e9,max=1e10;
-
ios::sync_with_stdio(false);//输出速度优化