给你两个1e5的序列问两个序列所有的数合并后总共N^2个数中前N个数的大小
我们先对数组进行排序,得到两个有序的数组AB
之后我们再把A[1]+B[1].A[1]+B[2],…,A[1]+B[N]这样的得出N个有序数列每个数列有N项
接着我们开一个优先队列把这个矩阵中第一列放进去,然后每次拿出最小的后,把那一行后一列加入到优先队列中,最终NlogN解决
1 |
|
给你两个1e5的序列问两个序列所有的数合并后总共N^2个数中前N个数的大小
我们先对数组进行排序,得到两个有序的数组AB
之后我们再把A[1]+B[1].A[1]+B[2],…,A[1]+B[N]这样的得出N个有序数列每个数列有N项
接着我们开一个优先队列把这个矩阵中第一列放进去,然后每次拿出最小的后,把那一行后一列加入到优先队列中,最终NlogN解决
1 | #include <bits/stdc++.h> |
微信支付
支付宝
Baccano by baccano is licensed under a Creative Commons BY-NC-ND 4.0 International License.
由baccano创作并维护的Baccano博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于baccano 博客( http://baccano.fun ),版权所有,侵权必究。
可以使用鼠标点击琴键也可以使用主键盘1-7或者小键盘的1-7来操作