CCF-CSP认证备考 第四、五题 历年解题思路汇总【偷分技巧!】

本文分享了CCF-CSP考试中第四、五题的解题策略,涉及树和图算法、遍历方法(DFS、BFS)及动态规划,提供了具体题目的解题思路和注意事项,帮助考生备考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CCF-CSP 第四、五题

这是一份本人当时备考时总结的复习资料(从202303往前,没有近三次的题目),大致总结了【CCF-CSP第四、五题】每道题的【偷分技巧】解题思路要点以及注意事项。希望能对大家的备考有所帮助。

这一部分的题目往往会涉及到树和图的算法,以及遍历算法(DFS、BFS)、动态规划等等。

下表总结了各题的偷分技巧以及对应能够拿到的分数,供大家参考。

试题编号试题名称最高得分考点
202303-4星际网络II301. 只处理16位的情况。2. 将16进制转换为10进制,在10进制下进行处理。3. 数组st[]存储每个地址分配给了哪个用户。【模拟】
202303-5施肥151. DFS暴力。2. 反过来思考,对18个区间进行枚举,每个区间选或不选两种情况,看一共能组成多少个不同的区间,组成的区间个数即为答案。
202212-4聚集方差651.建树 2. DFS遍历得到以每个节点为根的子树节点集合【重点】,再对集合进行方差计算。
202212-5星际网络201.建图(有重边)2. floyd求最短路(变形)设INF=-1因为距离可能会超过0x3f3f3f3f
202209-4吉祥物投票20模拟:对数组进行5种操作。
202209-5高维亚空间超频物质变压缩技术501. 子任务1:暴力枚举分段点(二进制串表示),然后对每一段逐个判断和计算。2. 子任务2:简单的动态规划(线性DP)【好题】。分段并计算合并区间代价,f[i]表示前i个数已经合并好的最小代价,枚举上一段的最后一块黄金编号为j,f[i] = min(f[j] + sqrt(s[i] - s[j] - L))
202206-4光线追踪15模拟,对数据结构的运用。
202206-5PS无限版50模拟(缩小数据范围),注意数据类型即可。给定7种操作,【线段树】维护类型。
202203-4通信系统管理20模拟。两台机器申请额度,有时间范围,相当于有一条边,注意时间过期。邻接矩阵的思想,每个时刻都重新生成邻接矩阵 和 每台机器的最大权值的边,再进行查询。【自己代码没搞出来4-2.cpp、可以再看一下题解100分的】
202203-5博弈论与石子合并40数学逻辑题,子任务简化逻辑。
202112-4磁盘文件操作25模拟,给定3种操作,结构体数组维护【25分】。【线段树类型题目】
202112-5极差路径12DFS】求树的所有路径并 记录路径上点的集合,再计算。【注意!】邻接表存储—>邻接矩阵存储(用vector) 【8分】, vector记录路径—>数组记录【12分】。
202109-4收集卡牌100DFS】(n=5)、记忆化搜索(n=16)、状态压缩。【记忆化搜索】=将dfs搜索的状态结果存储下来。
202109-5箱根山岳险天下10模拟3种操作。特别需要注意long long的处理!每步计算都需要取模。
202104-4校门外的树100计数类DP】、预处理约数:通过倍数来枚举约数、优化判断种到障碍物上的情况。
202104-5疫苗运输10模拟
202012-4食材运输25【25分模拟】寻找每种食材的左右端城市,再累加区间距离。【100分:状态压缩、二分、DFS】
202012-5星际旅行80暴力出奇迹,每个运算可能溢出的地方都取模,开unsigned long long
202009-4星际旅行15枚举, acos()函数
202009-5密信与计数4搞不出来
202006-4124632easy
202006-5乔乔和牛牛逛超市0不会
201912-4区块链100模拟、可持久化链表、对每个操作按时间进行存储。【题挺好的】
201912-5魔数25【25分暴力】快速乘算法:可以计算两个大数在模m下的乘积而不会溢出
201909-4推荐系统100数据结构、STL的运用【优先队列、结构体优先级设置】
201909-5城市规划0树形DP、分组背包】搞不懂。XXX
201903-4消息传递接口100DFS】,做不出来
201903-5317号子任务100spfa单源最短路径。枚举,求1000个spfa。反向思维。
201812-4数据中心100kruskal最短生成树。最小生成树满足每一个点到其他点的路径和最小,且路径中的最长路径最短。Kruskal可以求解两点之间所有路径中最大部分的最小值。【天然的性质可以解决该题目】
201712-4行车路线1001.两类边,加边时判断即可: c / c^2
2.当有小道相交的情况时,拆点 + 单源最短路径dijkstradist[][] 变成二维,第二维存最后一段连续的小道长度。
201709-4通信网络100正/反向边 + DFS
题意抽象:若一个点的正向边和反向边能到达所有的点,则符合要求。做法:对每个点的正向边和反向边进行遍历,两次DFS。
201703-4地铁修建100与 【201812-4数据中心】差不多。Kruskal可以求解两点之间所有路径中最大部分的最小值。第一次使得1和n连通的边的长度即为答案。
201612-4压缩编码100**【区间DP】**裸 石子合并
1. 单词一定在trie树的叶子节点上(保证一个单词的编码(对应的 01串)不是另一个单词编码的前缀)
2. 并且顺序是固定的(因为要按照字典序)
201609-4交通规划100【最短路径树:从图中找出一棵树,每个节点到根节点的距离为图中的最短路径】1. 求单源最短路
2. 找每个点满足条件的邻边(权值最小的):即这条边是不是该点最短路径上的一条边:dist[a] = dist[b] + w(a -> b)
201604-4游戏100BFS + 拆点
201503-4网络延时100树的直径 DFS DFS维护两个长度d1、d2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值