【团体程序涉及天梯赛】L1~L2实战反思合集(C++)
实战反思汇总记录
仔细审题,想好再写
L1-104 九宫格 - 团体程序设计天梯赛-练习集
易忽略的错误:开始习惯性地看到n就以为是n*n数组了,实际上应该是9*9的固定大小数组,查了半天没查出来
L1-101 别再来这么多猫娘了! - 团体程序设计天梯赛-练习集
New:最后那两个长字符串测试点的处理,不要在一开始就将违禁词替换成“<censored>”,而是先替换成“-_-”这样的比较短的字符串,否则违禁词多的时候,不断地改成长替换词,会加重下一次查找操作的负担。故先替换成短的,最后在输出前再替换成题目要求的
string类型常用方法
getline(cin, str);//在此之前如果单独用过cin>>, 则需要在二者之间用一次getline“清空缓存”,才能够成功用getline接收
int pos = str.find( to_find, start_pos);
str.replace(pos, len, "to_replace_with")
L2-001 紧急救援 - 团体程序设计天梯赛-练习集
尝试DFS:开始使用DFS来遍历求解,但 DFS 存在大量重复计算,像同一节点会被多次访问并重复计算路径信息,导致时间复杂度高,部分测试点未通过
改用迪杰斯特拉:为了求解,设置了很多的辅助数组,对于他们本身的初始化、以及对于起始点S的初始化赋值容易出错,需要小心
迪杰斯特拉相当于是用一次过程找出了所有点的信息,最后只需要按要求输出D对应的信息即可
迪杰斯特拉算法,通过储存每个点的信息,为后续的其他点的信息求取打下了坚实基础,用空间换取了大量时间
图论问题,应思考是否可以在dijistra的基础上改进来实现