CCF CSP认证刷题
文章平均质量分 69
分享题解,总结经验
日神与酒神
这个作者很懒,什么都没留下…
展开
-
CSP认证:URL映射
问题描述大致思路可以从问题的要求与输出样式逆向出发:一共有m个询问,对于每个询问需要输出对应的结果:对应匹配URL的名字、对应参数。结果是一个string集合,长度不固定,则可以考虑使用vector<string>的类型来存储每个询问的答案。那么如何根据输入的询问,来求出对应的答案呢?——通过之前输入的n条URL的路径模式与询问进行一一匹配,判断是否完全符合,若完全符合则返回答案(vector<string>),若不符合则判断下一条,若没有一条符合则输出“404”。那么如何原创 2021-09-06 23:36:16 · 346 阅读 · 0 评论 -
CSP认证:棋局评估
问题描述大致思路:博弈论(最大最小搜索)+ DFSA与B都以最优策略行棋,即两方都走自己胜率尽可能大的方案。对于A来说,当A行棋时,选择所有可行方案中A最大得分的那一种方案;而当B行棋时,选择的是B最大得分,即A最小得分的那一种方案。按照此规律模拟行棋的过程,dfs搜索所有可行方案,得到“最坏情况下的最好结果”,即答案。OK~上代码#include <iostream>#include <cstring>#include <algorithm>using原创 2021-09-05 21:09:00 · 818 阅读 · 0 评论 -
CSP认证:行车路线
问题描述大致思路: 最短路+拆点显然,本题是一道与图论当中最短路有关的问题,因此考虑使用SPFA / dijkstra等算法。观察本题数据规模和约定,部分测试数据不存在小道,就转化为了经典的最短路模板题,直接背模板就好了。对于还有一部分测试数据“所有小道不相交”,则分开讨论大小道:表示若当前边为大道,边权=当前边疲惫度;若当前边为小道,则边权=当前边疲惫度的平方,从而又转化为了最短路模板题。这样就可以拿到80分~#include <iostream>#include <cs原创 2021-09-05 20:36:14 · 497 阅读 · 0 评论 -
CSP认证:地铁修建
题目描述201703-4 地铁修建大致题意:求无向图中从结点1走到结点n所经过的路径边数不超过n的路径中边权最大值的最小值。大致思路: 二分 + BFS二分假设题目最终的答案的值为ans(0<ans<=1000000),在数轴上表示如下图,二分的依据则是,只利用边权小于等于当前mid值的边,且边数不能超过n,是否能从结点1走到结点n。那如何判断在这些限制条件下,能否从结点1走到结点n呢?就可以使用BFS来解决。BFSBFS拥有最短路性质,即第一次经过该点的路径是从起点到该原创 2021-08-30 21:50:06 · 343 阅读 · 0 评论 -
CSP认证:Markdown
问题描述:大致思路:OK~上代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;void get_link(string str){ string text="",link=""; int i; for(i=1;str[i]!=']';i++){//处理text char c=str[i];原创 2021-08-30 20:40:46 · 5479 阅读 · 0 评论 -
CSP认证:压缩编码
问题描述:201612-4压缩编码大概题意:a1, a2, a3…an(按字典序排列)共n个单词出现频率不同,给每个单词使用01串实现前缀编码(有点像哈夫曼编码,但不完全是),寻求一种编码方案,使得单词频率与编码长度的乘积之和最小,并求出最小值是多少。注意:需要维护单词的字典序大概思路:阅读题时非常容易想到哈夫曼编码,但这道题与哈夫曼编码的不同点在于:哈夫曼编码是每次选取当前的最小值与次最小值进行合并,因此会有排序操作,不关心原序列的顺序;但本题需要维护单词的字典序,因此不能直接使用贪心的方原创 2021-08-30 01:27:03 · 267 阅读 · 0 评论 -
CSP认证:权限查询
问题描述:201612-3权限查询大概题意:权限:有不分等级权限与分等级权限。分等级权限给出最高权限。角色:具有多个权限用户:具有多个角色,角色之间的权限有可能重复,分等级权限取最高等级。有q个询问:给出用户和对应权限,判断该用户是否有对应权限,若是分等级权限,则给出该用户拥有的最高等级。大致思路:按题目要求,根据输入处理权限、角色和用户。我们需要根据用户查找到角色,再根据角色查找对应的权限。询问是判断用户与权限的关系。因此,在处理用户的时候,不存储对应的角色,而是参照输入的角色名,原创 2021-08-29 23:18:15 · 300 阅读 · 0 评论