算法期中2022

P\(1\)
枚举使用多少张\(5\)分的邮票然后判断是否可以整除即可
但是第二问这个归纳比较幽默,搞不懂这种题目为什么要用归纳:n>=12时n-3的换法+一张3,归纳假设是12~n-1都能换
P\(2\)
a.数学归纳法
b.与普通的汉诺塔一样,只不过现在不可以直接从\(A\)移动到\(B\)而已,递推公式:\(f_n=3f_{n-1}+2\)
P\(3\)
a.反证法即可
b.讨论逆序对的个数,以两个逆序对为例,此时两种情况

  • 两个逆序对互不干扰(也就是a.的\(j-i=1\)),扫描一遍就好了
  • a.的\(j-i=2\),扫描找到这个逆序对,然后夹在中间的这个数在这三个数中要么最大要么最小,比较一次就好了。所以可以用不超过\(n-2\)次比较排序

P\(4\)
直接给出\(O(n)\)做法:找出中位数,放在数组中的第\(2n+1\)个位置,然后把比中位数大的放在偶数位,比中位数小的放在奇数位即可
P\(5\)
不太理解这个图是什么意思,按理来说子树不可以这么分割。如果题意是不可分割的子树的话,那么可以做到复杂度\(O(n)\),用一次DFS即可;如果可以分割的话,也可以\(O(n)\):设\(f[i]\)表示以\(i\)为根的子树符合题意的最大深度,那么有\(f[i]=\min(f[ls],f[rs])+1\)

posted @ 2025-04-08 10:22  最爱丁珰  阅读(8)  评论(0)    收藏  举报