写在前面
CSP(计算机软件能力认证考试),主要覆盖大学计算机专业所学习的程序设计,数据结构,算法以及相关的数学基础知识。
包括但不限于:
-
程序设计基础:
逻辑与数学运算,分支循环,过程调用(递归),字符串操作,文件操作,etc. -
数据结构:
线性表(数组,队列,栈,链表),树(堆,排序二叉树),哈希表,集合与映射,图,etc. -
算法与算法设计策略:
排序与查找,枚举,贪心策略,分治策略,递推与递归,动态规划,搜索,图论算法,计算几何,字符串匹配,线段树,随机算法,近似算法, etc.
考试模式:
-
OI机制(分点给分
-
4h内完成5道题
题型大致分布&注意事项:(据一位CSP420分的学姐说
-
第一题:水题
稍有编程经验,20+-行代码可搓完
1.注意细节:
long long
边界
特殊情况
2.用文件读入可节省大量时间
3.宏定义节省for循环书写用时
#define _for(i , a , b) for(int i=a; i<b; i++)
4.声明数组大小时,用const定义的伪常量方便修改const int N=1007 int Num[N] , Sum[N]; char str[N]
-
第二题:小模拟
处理比较简单的问题,需要梳理简单的逻辑和过程
1.多重循环,接近n^2的复杂度。一般是时序题,熟练运用排序、多元数组、STL会有奇效
2.必备STL神器
string:字符串查找、拼接、花式读入
set:自动排序,去重
vector:盲开数组的首要选择
priority_queue:自定义优先级的队列
map:不同类型数据的双向字典 -
第三题:大模拟,字符串处理
标签:tmp,CCFCSP2305,string,int,long,算法,字符串 From: https://www.cnblogs.com/Weenz-y/p/17875705.html
处理复杂的问题,涉及字符串的问题居多
1.熟练掌握各种输入函数与字符串的处理,DFS, BFS,
2.会设计复杂的层次化结构
3.题库
ZJU:acm.zju.edu.cn
PKU:acm.pku.edu.cn/JudgeOnline
HDU:acm.hdu.edu.cn
USACO:train.usaco.org/usacogate
Codeforces:codeforces.com
4.题目不难,只是变态(