CUMT算法考试总结


算法考试总结

作者:lowlyli

时间:2021-12-8

内容:含泪写下这个算法的总结,太离谱了,我真的写不完,不会写。

问题回忆

算法复杂度

这题其实很简单,但比以往的上课题一点点复杂

大意:

主定理盒递推都可以

流水作业调度(变形)

基本步骤一样,就是这个卷子给的数字和计算规模大,写不完。

  1. 问题描述 n个作业要在两台机器M1和M2上进行加工。每个作业加工的顺序都是先在M1上加工,然后在M2加工。M1和M2加工作业$i$所需的时间分别为$a_i$ 和$b_i$。确定n个作业的最优加工顺序,使得加工完成所需的时间最少。

    算法

    1. 分为$N_1,N_2$集合存放
    2. $N_1$中作业按照$a_i$升序排序,$N_2$中作业按照$b_i$降序排序
    3. $N_1$连接$N_2$,计算时间

哈夫曼编码

简单送分题(送命题)

这题和平时步骤一样,唯一区别就说这个题是10个字母的,上课也只有6,7个的,10个的规模有点大,写了满满一面的步骤和树,画吐了。

暖气管道最优安排

这题很迷惑,给了22个点,每个点包括$(x_i,y_i)$,问有没有最佳的一个点$(0,y_{best})$,这题没见过,考试跳过了,其实就说二分法求中位数

类似:

某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。

如果给定n口油井的位置,即它们的x坐标(东西向)和y坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?

给定n口油井的位置,编程计算各油井到主管道之间的输油管道最小长度总和。

这里写图片描述

(这15分基本上空了,没时间写,后面想到了,二分中位数,但22个数,每日吐槽题量大)

活动安排

这里是等待,有n个顾客,每个人需要$t_i$的服务时间,有m个窗口,求最短的等待时间的安排

就是贪心,从小到大排序,依次插入窗口。

(再次吐槽,给了10个数,2窗口,没时间写)

最长递增子序列

离谱,如果考实践的时候我还会(其实现在也会写代码)但这里理论分析,属实蚌埠住了,最离谱的是2种方法,放过我吧,我只写了后面的问题求解,理论属实不会。

这是考场上想到的:居然蒙对了一个,不过第二种属实不会了。

这里自己参考:

力扣最长递增子序列

https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/zui-chang-shang-sheng-zi-xu-lie-by-leetcode-soluti/

回溯法和分支限界

这里是0-1背包变形

但这里要求2次,还是5层的树。

最后就一点点时间了,稀里糊涂画的,现在想起来,答案估计都有问题。唉~题量也太大了。根本写不完。

反思总结(也给一点准备建议)

总结

这次考试,题量大的离谱,我这种写的慢的,当年数据库都没写完的人,这根本写不完,除非,我不用思考,但这题还是有点难度,需要思考的,不清楚为啥19如此难。本来2周前就考了,因为突如其来的疫情,推迟了,导致理论和实践间隔久,反正就是只复习了书上,然后老师画的重点,然后就崩了。呜呜呜。

备考建议:

课上内容不太行,建议在平时学习看一遍书就可以开始刷力扣了,培养题感,这里推荐:

代码随想录 : https://www.programmercarl.com/

可以参考上面的最基础的地方刷,本人在2周多一点刷了100来道,虽然考试帮助不太大,但感觉还是学到了算法的一些精髓。

image-20211209090200310

理论的一些可以参考:胡神的博客

还是可以的,我的一般吧。

没有什么了,算法好好学吧。

老师总结

image-20220330165811087

最后也算4人之一,考的不是很差,但算法学习感觉还是很重要,尤其我这种没有参与过acm的人,有时间再多学一下吧,讨厌机试。


文章作者: LowlyLi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LowlyLi !
评论
  目录