摘要:
题目大意: 设计一个平均时间为O(n)的算法,在n(1<=n<=5000000)个无序的整数中找出第k小的数。 题目理解: 因为本题要求使用O(n)的时间,所以不能直接采用排序然后输出的方法来解题。因此采用分治方法,先任意找数组中的一个元素a,采用快速排序将数组进行一次划分,即将小于a的元素放在其左 阅读全文
摘要:
题面 对于平面上的两点 $p(x_p,y_p),q(x_q,y_q)$ ,我们定义它们之间的曼哈顿距离 $d(p,q)=|x_p-x_q|+|y_p-y_q|$ 。进一步定义由三个点构成的一组点 $p,q,r$ 是坏的仅当 $d(p,r)=d(p,q)+d(q,r)$ 。 我们定义序列 $b$ 是好 阅读全文