- 博客(62)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 CSP-J/S第一轮测试模拟训练集
CSP-J/S第一轮测试知识点请参看链接以下模拟测试,答完即可获得答案及解析。每周五、周六B栈直播讲解直播间ID:24933359直播链接:http://live.bilibili.com/24933359选择题目的模拟训练模拟测试一模拟测试二模拟测试三模拟测试四阅读程序的模拟训练模拟测试一模拟测试二模拟测试三模拟测试四历年真题模拟测试模拟测试一模拟测试二模拟测试三模拟测试四仿真试卷模拟测试模拟测试一模拟测试二模拟测试三模拟测试四............
2022-05-30 09:10:53
3010
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 CSP-J/S第一轮测试知识点全覆盖
题型CSP-J/S第一轮测试的考察题型是:1、选择题,共15题,每题2分,共30分;2、阅读程序题,共计40分。一般三道程序题目,判断题每题1.5分,选择题每题3分;3、完善程序题,共计30分,选择题目,每题3分;一般两到题目。知识点1、计算机基础知识(1)计算机基础知识(一) 计算机基础知识一 (2)计算机基础知识(二)
2022-05-25 09:21:50
20231
9
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 信息学奥赛(NOIP/CSP-J/S)学习全目录
课程学习顺序指引1、纲要2、CL0-CL4内容后续更新3、CL5 递归:地址4、JL4搜索:地址一其他内容陆续更新练习指引1、51nod一起刷题2、洛谷一起刷题3、历年真题刷题陆续更新
2022-05-02 10:34:09
5987
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于如何学习信奥
一、什么是信息学奥赛简而言之,是全球青少年编程的最高级别奥林匹克竞赛,在高考和就业中都有着举足轻重的作用!作用越大,学习难度也越大!欲带其冠必承其重!关于如何参赛,后续详解,着急的可以问度娘,搜索关键字noip二、课程体系信奥的课程体系,众说纷纭。本博客采用51nod的课程体系,原因有二:1、该课程体系,可以让最短时间的学习能达到参赛的目的,并在比赛中获得一定成绩。当然课程体系是严格按照noi(信息学奥赛)的课程大纲设置的。2、51nod配置的题库是目前我能接触到的思维难度最高的,适合初学者的
2022-04-29 10:26:51
3657
3
原创 背包九讲-01背包
动态规划是求最优解问题的重要解法,也是信息学奥赛中每年必考的内容之一。学习动态规划更应该注重此类问题思维能力的锻炼,多多做题,一般>50题后方可入门。注意理解以下概念1、状态2、状态属性3、状态的计算,也就是状态转移4、优化:DP的优化都是代码的等价代换.........
2022-06-01 15:00:33
750
2
原创 全面解读算法时间复杂度
衡量一个算法优劣的标准在信息学奥赛中,一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。由于近年来信息学奥赛比赛题目中空间要求逐渐增大,因此,更多的是关心程序的时间复杂度。当追求一个较好的时间复杂度时,可能会使空间复杂度的性能变差,即可能导致占用较多的存储空间。反之,当追求一个较好的空间复杂度时,可能会使时间复杂度的性能变差,即可能导致占用较长的运行时间。空间复杂度空间复杂度 是对一个算法在运行过程中临时占用存储空间大小的量度。比如int a[100];所占用的内存空间大小
2022-05-20 08:52:31
2327
1
原创 史上最全排序算法全面总结
考察点在信息学奥赛初赛中对于排序算法的考察主要体现在以下几方面:1、时间复杂度2、稳定性3、最坏情况下移动次数4、移动次数与关键字顺序关系先看熟记知识点1.关于稳定性:即两个数经过排序后其在序列中的相对位置是否会发生变化,不变则是稳定算法;不稳定:快选堆希(快速排序、选择排序、堆排序、希尔排序)稳 定:插冒归计基(简单插入排序、冒泡排序、归并排序、计数排序、基数排序)2.关于移动次数和关键字顺序无关的排序顺口溜:一堆(堆排序)海龟(归并排序)选(选择排序)基(基数排序)友再细
2022-05-19 10:25:43
2067
1
原创 csp-j/s组第一轮测试140题版本模拟试题及解析
1、在8位二进制补码中,10101010表示的数是十进制下的(B)A、176 B、-86 C、-85 D、-84答案解析:补码=反码+1;反码=原码除符号位外各个位取反;原码是和十进制对应的;所以,现将补码10101010转化成原码:符号位不变,减1后得到10011111,然后按位取反得到11100000,最后按权展开求和得到十进制数-86。2、中缀表达式A-(B+C/D)E的后缀表达式是(D)A、AB-C+D/E B、ABC+D/-E* C、ABCD/E*± D、ABCD
2022-05-18 11:59:07
18365
1
原创 搜索题目综合
BFS1、小X学游泳2、迷宫出口3、走出迷宫的最少步数4、走出迷宫的最少步数25、数池塘6、骑士巡游7、骑士牛8、走出迷宫的最短路径9、泉水10、最小拐弯路径DFS1、卒的遍历2、马的遍历3、方格取数4、特殊的质数肋骨5、古希腊之争(二)6、素数环7、素数环28、子集和求解9、单词接龙10、湖计数【后续提供视频讲解和标程】前面课程连接1、宽度优先搜索2、深度优先搜索3、回溯法-排列组合类4、回溯法-切割问题与子集问题5、回溯法-棋盘类问题...
2022-05-17 15:32:12
653
原创 宽度优先搜索--BFS
BFS基本思想宽度优先搜索(Breadth First Search,BFS),简称宽搜,又称广度优先搜索。它是从初始结点开始,应用产生式规则和控制策略生成第一层结点,同时检查目标结点是否在这些生成的结点中。若没有,再用产生式规则将所有第一层结点逐一拓展,得到第二层结点,并逐一检查第二层结点是否包含目标结点。若没有,再用产生式规则拓展第二层结点。如此依次拓展,检查下去,直至发现目标结点为止。如果拓展完所有结点,都没有发现目标结点,则问题无解。BFS适合求最少步骤或者最短解序列这类最优解问题例如,求最大
2022-05-13 11:07:27
4134
原创 回溯法--棋盘类
这类问题需要注意三个问题1、存储问题:一般用二维数组存储2、枚举对象:一般以坐标作为枚举对象3、坐标增量:二维数组或者两个一维数组迷宫问题先看一个简易迷宫问题吧现在有一个小迷宫,如图所示,请编程求解从入口到终点的最短路径。迷宫由n行m列的单元格组成,且n,m小于等于50.注意黑色区域快不可以走,只能走白色区域。输入: 第一行:n,m,分别代表n行m列。第2-n行表示为迷宫,0表示空地,1表示障碍物。最后一行,x,y,p,q前两个为入口坐标,后两个为终点坐标。 输出: 最短路径样
2022-05-10 15:57:23
571
原创 回溯法--切割问题与子集问题
一、DFS的框架,必须熟记void dfs(int k){ if(到达终点或者目的地) { 输出问题解或者解得方案数+1; } for(int i = 0;i<="可扩展状态总数";i++) { 按照规则,产生新的状态; if(判断新状态是否合法) { 保存合法结果; dfs(k+1); 恢复现场,回溯;//可以没有,根据情况来定 } }}int main(){ ..... dfs(k); 回溯;//可选 return 0;
2022-05-06 16:09:39
1343
3
原创 二分查找及二分答案
二分思想二分是一种常用且非常精妙的算法,常常是我们解答问题的突破口,二分的基本用途是在单调序列或单调函数中做查找操作,因此当问题的答案具有单调性时,就可以通过二分把求解转化为判定(根据复杂度理论,可知判定的难度小于求解),这使得二分的应用范围变得很广泛。二分的关键是边界,而不是单调性,所以,小白学习二分一定要注意边界问题。线性查找需要从头开始不断地按顺序检查数据,因此在数据量大且目标数据靠后,或者目标数据不存在时,比较的次数就会更多,也更为耗时。若数据量为 n,线性查找的时间复杂度便为 O(
2022-04-20 16:38:13
2042
10
原创 深度优先搜索(DFS)
一、关于DFS的一些小概念DFS可谓是“不撞南墙,不回头”。就像走迷宫一样,选择一条路一直走下去,当撞南墙了,才返回分叉口去试下一条路。有两个概念需要提前明晰一下:1、状态:状态一般是指客观现场信息的描述,通常用T表示。一般要注意是指当前状态,用T0表示初始状态,Tn表示终止状态。2、产生式系统。状态依据产生式规则,转移至另一个状态。它主要体现状态的表示,新状态产生的规则,状态转移三大功能。重点理解1、DFS实际上是利用递归进行的暴力搜索,因此,写DFS之前我们要弄清楚枚举对象,这点很关键,枚举
2021-09-22 10:17:50
1867
7
原创 回溯法--排列组合类
一、关于DFS的一些小概念DFS可谓是“不撞南墙,不回头”。就像走迷宫一样,选择一条路一直走下去,当撞南墙了,才返回分叉口去试下一条路。有两个概念需要提前明晰一下:1、状态:状态一般是指客观现场信息的描述,通常用T表示。一般要注意是指当前状态,用T0表示初始状态,Tn表示终止状态。2、产生式系统。状态依据产生式规则,转移至另一个状态。它主要体现状态的表示,新状态产生的规则,状态转移三大功能。二、DFS的框架void dfs(int k){ if(到达终点或者目的地) { 输出问题解或者
2021-09-09 15:49:17
980
3
原创 NOIP中的数学--关于取模(MOD)第五课(上)
Mod运算在这之前,假定你知道什么是模运算,3%5=3 ,167%100=67 ,就是这样简单。所有整数,对n取模得到的结果只可能是0到n-1 ,这 个数组成的集合,有个名字 剩余系。这些性质十分有用哦!例题1:正整数的平方和同余同余是数论中的重要概念。给定一个正整数m ,如果两个整数 a和 b满足a-b 能够被 m整除,那么,就称整数a 与b 对模m 同余,记作 a=b(mod m)对模m 同余是整数的一个等价关系。**课堂练习:1、N的倍数2、阶乘后面0的数量3、阶乘0的数量 V
2021-04-02 09:30:53
611
原创 NOIP中的数学--快速幂 第5课(下)
快速幂在求a的b次方时,暴力的做法是O(b)的,而有一种高效的O(log(b))的做法———快速幂1 、快速幂的思想因为a2b =(a2)b,底数增加了一倍,而时间复杂度却降低了一半。快速幂就是基于这个性质的一个算法。采用分治与倍增的思想。假设我们要求ab,那么其实b是可以拆成二进制的,该二进制数第i位的权为2(i-1),例如当b=11时,a11=a(20+21+23) 11的二进制是1011,11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1,因此,我们将a¹¹转化为算 a(20)*
2021-04-01 15:23:20
356
原创 NOIP中的数学 -- 第7课 组合数
1.当n,m都很小的时候可以利用杨辉三角直接求。C(n,m)=C(n-1,m)+C(n-1,m-1);2、n和m较大,但是p为素数的时候Lucas定理是用来求 c(n,m) mod p,p为素数的值。C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p也就是Lucas(n,m)%p=Lucas(n/p,m/p)*C(n%p,m%p)%p求上式的时候,Lucas递归出口为m=0时返回1求C(n%p, m%p)%p的时候,此处写成C(n, m)%p(p是素数,n和m均小于p)C(n,
2021-02-27 12:28:10
516
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人