2024算法期中
\(1\)
\(1)\)主定理
\(2)\)主定理
\(3)\)作业
\(4)\)作业
2
作业
3
作业
4
\(1)\)把每个数hash到桶里面,然后\(O(n)\)遍历,假设遍历到了\(s_i\),计算\(h-s_i\)的hash值,看在不在桶里面(注意\(h-s_i\)不能为\(s_i\))即可
Independent Uniform Hashing就是各个输入\(x\)之间的hash是互不干扰的,而且均匀地hash到每一个位置上。所以是有可能冲突的,但是这里算的是时间复杂度,无所谓
\(2)\)排序,遍历,二分
5
两个栈实现队列的思想,只不过将栈换成普通数组,再拿两个变量记录数组的大小即可
注意这里是用array doubling动态增加内存,所以叫做前两个操作是平摊复杂度
当然这纯属出题人不是很道德
6
设solve(l,r,x,y)表示第l行到第r行,且这些行的最小值在第x列到第y列中,所有行的最小元素。先\(O(y-x)\)找出第mid\(=\frac{l+r}{2}\)行的最小元素,设这个最小元素在第z列,递归解决solve(l,mid,x,z)和solve(mid+1,r,z+1,y)即可。不难知道时间复杂度为\(O(n\log m)\)

浙公网安备 33010602011771号