![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小玩意
ARui Blog
这个人很懒~~
展开
-
提高cin的输入效率
cin>>,很好用,但是它的效率太低了,在ACM比赛中,常常会因为它超时,是可以牺牲它的一些特性,功能来提高它的效率的(具体牺牲了啥目前我还不懂)std::ios::sync_with_stdio(false);把这行代码加到 main() 函数里面,可以把cin的效率提高到和scanf差不多,但是,牺牲了它的特性的,不知道有没有bug今天发现了一个 1.这样写,cout 后面若没 e...原创 2018-05-22 00:35:21 · 1658 阅读 · 1 评论 -
最小公倍数lcm的证明
都知道 lcm(a,b) = a*b / gcd(a,b).找不出什么毛病,但也不知道怎么证明。今天就学习一下怎么去证明这个公式已经证明了辗转相除法求gcd的前提下,这个是很容易证明的。 设 gcd(a, b) = g, lcm(a, b) = l. 所以,设 a = k1 * g, b = k2 * g. ( k1 和k2 互质 )。l = a *...原创 2018-11-14 11:28:57 · 792 阅读 · 0 评论 -
c++ 读入整行字符,包括中间的空格。
写程序时,有时需要一次输入一行字符串,中间包含空格,cin >> s;这样不能读入空格,比如输入 “123 123” . s 只等于 “123” ..。遇到空格就结束了。 while (c = getchar() != c!='\0')最笨的方法是用getchar()一个字符一个字符的接受。而c++里提供了更好的方法getline() ; ...原创 2018-11-12 15:32:57 · 1294 阅读 · 0 评论 -
辗转相除法求GCD的证明
一直在用gcd(),却不理解其中的原因,。今天回过头来,从头学起。int gcd(int a, int b){ return b == 0 ? a : gcd(b,a%b);}1. 首先要知道,0 于 n 的最大公约数是 n。所以当b == 0时候,最大公约数就是a。 重要的是要证明:gcd(a, b) = gcd( b, a%b);2. 设 gcd(a,b) = g...原创 2018-11-14 11:06:05 · 355 阅读 · 0 评论 -
C++ new
int(){ int *p = new ***;}如上,new 的一个空间是在堆内存中,而不是栈内存,所以,在最后一定要有 , delete p; 来释放空间。。。。 栈内存速度很快。但是,写程序时尽量少使用栈内存,多使用堆内存。栈内存是很宝贵的。栈内存系统自动管理,自动释放。但是堆内存不会,所以一定要手动释放。。...原创 2018-11-08 16:36:03 · 115 阅读 · 0 评论 -
C语言的一些文件操作
文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的读写操作 fgetc 从文件中读取一个字符 fgets 从文件中读取一个字符串 fputc 写一个字符到文件中去 f...原创 2018-10-30 23:11:34 · 245 阅读 · 0 评论 -
得到随机数 rand()
rand() 0 ~ 2147483647 [0, MAX) rand()%x 0 ~ x; [0, x ) rand()%x + n n ~ x+n; [n, x+n ) 只用rand ()函数,系统每次产生的随机数序列都是一样的,若想要每次都不...原创 2018-10-24 13:40:13 · 625 阅读 · 0 评论 -
坑!!!a[ t++ ] = a[ t ]
定义 a[ 2 ] = { 0, 1 } int t = 0;一 : a [ t++ ] = 1; 执行这句话后,a[ 0 ] = 1, a[ 1 ] = 1... t = 1... 二: a[ t++ ] = a[ t ]; 执行这句话后,...原创 2018-10-29 17:25:42 · 996 阅读 · 0 评论 -
c++交题防止栈溢出
在代码里加上这句话 #pragma comment(linker, "/STACK:102400000,102400000")原创 2018-07-28 06:01:32 · 296 阅读 · 0 评论 -
关于读入 回车 的一些问题
// cin ,scanf() ,并不能单独读入回车,没有任何反应 // cin 自带处理到文件尾结束的判断 // gets() 可以单独处理回车,是对字符串输入 ,遇到回车,读入不是 '\n', 而是 '\0' !!!! // getchar() 可以读入回车 '\n' !!!!!!...原创 2018-07-21 21:15:47 · 506 阅读 · 0 评论 -
涉及小数比较的精度问题
double a;double ba = log(x);b = log(y);然后比较 a 和 b 的大小;这样写看似没有问题 ,其实有很致命的 bug, 做题的时候很容易出错。因为 double 的小数位数是有限的,如果 log( x) ,log (y) 是无限循环小数,,那么精度丢失的 很厉害,所以涉及到可能有无限循环的小数比较大小的时候,1、不要用第三变量去赋值,直接比较就行比...原创 2018-05-31 10:54:55 · 587 阅读 · 0 评论 -
关于memset()
写程序时候发现 ,memset()对 double 类型的数组不能初始化为 -1 !!!!对 int 类型的数组可以初始话为 -1 0 INF = 0x3f3f3f3f;原创 2018-05-31 10:48:17 · 478 阅读 · 0 评论 -
如何让OpenGL程序不显示cmd,只显示图像窗口
在头文件下加入这样一行代码#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")再次编译,调试,虽然调试的时候还是会有cmd弹出。但是直接运行生成的.exe文件时,就不会有cmd窗口弹出。...原创 2019-09-17 15:13:52 · 592 阅读 · 0 评论