![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂项
杂项
pi314159265a
求关注,现在关注我,我也会关注你
展开
-
CSP-J初赛重点内容(2)-下
冒泡排序的原理:从第一个开始,比较两个相邻的元素,如果顺序不同就交换,排序时会先将大的元素“浮”到最后,所以叫做冒泡排序。选择排序的原理:将最小的先放在前面,然后将左边往右移动,继续以上过程。使用某种排序后,相等的元素的相对次序仍然不变,则该排序是稳定的。插入排序原理:将一个待排序的数查到前面有序序列中。为稳定排序,时间复杂度O(nlogn)平均之间复杂度为O(nlogn)最坏情况下时间复杂度为O(n²)时间复杂度为O(n²)时间复杂度为O(n²)时间复杂度O(n²)稳定排序:冒泡,插入。原创 2024-07-27 10:53:47 · 318 阅读 · 0 评论 -
关于CSP-J复赛容易失分点的总结
1.使用cin,cout导致时间超限,解决方法为改为printf,scanf。4.freopen上的各种问题(没写,没去注释,内容错误等)2.使用scanf输入字符串(不是字符数组)3.使用'_'开头的函数,比如__gcd()总之CSP-J这种赛制的比赛一定要。原创 2024-07-26 19:40:34 · 135 阅读 · 0 评论 -
最大公约数和最小公倍数
个人认为数比较小的时候两种方法都可以,如果两个数字比较接近可以使用辗转相除,数字大了最好别用短除,比较麻烦而且要背质数。,但是这种方法在某些情况下特别难用,接下来介绍一下生活中求最大公约数和最小公倍数的方法及其应用场景。但是在两个数相差比较大且两个数不大的情况下短除更适合。最大公约数是几个数最大共有的约数。最小公倍数是几个数最小共有的倍数。2.辗转相除法 代码贴这里了。还有各种奇怪的方法不一一写了。作者本身学校教的求这两个是用。1.短除 自己可以去搜索。具体按照个人喜好来。原创 2024-07-28 21:25:04 · 148 阅读 · 0 评论 -
时间复杂度
还有O(n²),O(nlogn),O(√n),O(logn),O(n³)等时间复杂度。n<=100:考虑使用O(n^3)算法,例如暴力枚举求1~100内任意三个数的乘积。n<=1000000:考虑使用O(nlogn)算法,比如归并排序。n<=2^(10^7):考虑使用O(logn)算法,比如二分查找。n<=10^12:考虑使用O(√n)算法,比如分解质因数。n<=20:考虑使用O(2^n) 算法,例如二进制枚举。n<=10^7:考虑使用O(n)算法,比如线性筛。n<=10000:考虑使用O(n√n)算法。原创 2024-08-15 13:24:36 · 161 阅读 · 0 评论 -
C++#define用法
用处很大,但是注意,他不能往里面传变量,所以没办法自动生成x1,x2,x3...,xn这种单个的变量。可见,#define用处还是很大的,可以帮助我们让某些长的东西改成短的。#define相当于给某个东西取个名字,到时候可以直接用名字。原创 2024-08-21 17:17:56 · 123 阅读 · 0 评论 -
CSP-J初赛重点内容(2)-上
2.括号法:在运算中根据优先级加上括号,然后把括号内的运算符移到括号后面或者前面(对应层级)然后去掉括号剩下的就是后缀/前缀表达式。1.建造语法树 将最后算的运算符的作为根节点,左右子节点为这个运算符左右两边的两个表达式。基于比较的排序有:快速排序,堆排序,选择排序,冒泡排序,插入排序等。不基于比较的排序有:基数排序,计数排序等。.push_front(x)在开头插入x。.insert(it,x) 在it位置。.push_back(x)在末尾插入x。集合 只有同属于一个集合这种关系。原创 2024-07-25 22:08:36 · 430 阅读 · 0 评论 -
CSP-J初赛重点内容(1)
二进制码,用四个字节存储,写作A.B.C.D(A,B,C,D位0~255的整数)存储器速度对比:寄存器>高速缓存(cache)>主存(内存)>硬盘。分类:局域网:LAN 城域网:MAN 广域网:WAN。RAM:断电后数据消失 ROM:断电后数据不会消失。Pascal 语言、C 语言是面向过程的计算机语言。计算机语言分为:机器语言,汇编语言,高级语言。WC:全国青少年信息学奥林匹克竞赛冬令营。NOI:全国青少年信息学奥林匹克竞赛。IOI:国际信息学奥林匹克竞赛。SMTP:简单邮件传输协议。原创 2024-07-25 14:42:50 · 282 阅读 · 0 评论