数算实习和数算期末上机总结
上机情况概述
12月份迎来了两门课程的上机考试,数据结构与算法和数据结构与算法实习课程上机考试。
数据结构与算法上机考试相对比较简单,因为可以用STL,只需要明白数据结构的用法和STL接口就可以做出一些数据结构的题目,除了一个Tire模板填空,一个KMP变形有些难度,其他题目差不多中规中矩。所以120min/180min做完了,得了70/70。
数据结构与算法实习课程与往年和作业教学导向不同的是,并没有直接出现数据结构题目,反而考了一些算法类型题目,而且很多题目非常困难,我只能写一些局部正确的近似算法,得一些部分分,而且考完也没有正确算法的思路。所以用STL做了一个完整的题目,其他题目得了点部分分,总共得了28/50分。
数算上机情况:70 of 70
题目ID | 标题 | 得分 | 解法 |
---|---|---|---|
1 | 滑动窗口 | 10 | STL维护有序序列 |
2 | The Unique MST | 10 | MST算法变形 |
3 | 词典 | 10 | STL维护字典 |
4 | The xor-longest Path | 10 | 模板填空(Tire) |
5 | Seek the Name, Seek the Fame | 10 | KMP变形 |
6 | 双队列 | 10 | STL维护有序序列 |
7 | 吉老师的汉诺塔 | 10 | 树状数组逆序对 |
数算上机题目分析
按照我做题的大致顺序分析题目:
数据结构(STL维护的数据结构)
1.用STL维护有序序列不断插入删除即可,可以用set,删除要用find()方法找到再删除,STL常数很大,STL存副本耗时也很多,所以要用正确合适的方法以防TLE。
3.用STL的map< string,string>维护一个字典,非常简单。
6.用STL的map维护有序序列即可,也不困难。
算法(数算课程授课算法)
7.逆序对,但是本质还是用数据结构树状数组解决,注意long long。
2.考察MST,但是还有一点变形,问MST是否唯一,可以先用Kruskal找出MST,再枚举删掉一条边后是否存在MST大小不增,存在则不唯一,否则唯一。