原题地址:戳进来
这道题目就是说有两条平行线,第一条线上是rich城市,第二条线上是poor城市,要求把相同数字的城市相连,但是不能出现交叉,问最多能连几条线。
这道题目我一直感觉有问题,有的人说输入本身就是有序的不用排序,也有的说输入无序,要按照poor城市的升序排rich城市,然后求rich城市序列中的最长上升子序列,我贴出这道题的目的不是这道题本身,而是想说明求LIS的动态规划加二分的方法,时间复杂度是O(N*logN),如果不知道请转最长上升子序列 LIS,如果你用普通的动态规划的方法做我打一百个保票你会超时,不信你去试一下,题目链接在上面,贴出我的AC代码。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include