随笔分类 -  -----其他算法 2.cdq分治

摘要:题目链接:hdu_4742_Pinball Game 3D 题意: 给你n个点,让你求三维的LIS,并且求出有多少种组合能达到LIS。 题解: 求三维的LIS,典型的三维偏序问题,x排序,解决一维,cdq分治y,解决一维,树状数组维护z,解决一维。 注意,cdq中sort不要调用太多,不然会被卡常。 阅读全文
posted @ 2016-11-22 17:35 bin_gege 阅读(144) 评论(0) 推荐(0)
摘要:题目链接:hdu_5354_Bipartite Graph 题意: 给你一个由无向边连接的图,问对于每一个点来说,如果删除这个点,剩下的点能不能构成一个二分图。 题解: 如果每次排除一个点然后去DFS判是否为二分图,那肯定会超时。 我们可以知道,删除其中一个点,对其他好多的边都不会有影响,所以我们可 阅读全文
posted @ 2016-11-21 12:26 bin_gege 阅读(235) 评论(0) 推荐(0)
摘要:题目链接:hdu_5324_Boring Class 题意: 给出n个二维点对,求LIS长度和编号字典序最小的LIS(x非增,y非减) 题解: dp[i]=max(dp[j]) (i>j,l[i]>=l[j],r[i]<=r[i]) 一看就是三维偏序问题。 如果树套树写的好,空间开的大的话,一样可以 阅读全文
posted @ 2016-11-12 17:42 bin_gege 阅读(336) 评论(0) 推荐(0)
摘要:题目链接:hdu_5618_Jam's problem again 题意: 给你n个点,每个点有一个坐标(x,y,z),找出有ans个点,3个坐标都比该点小,这个点的level就为ans,然后让你输出所有点的ans. 题解: 对于第一维,直接排序,后面两维的处理可以用线段树套lowbit,但空间用的 阅读全文
posted @ 2016-11-10 21:10 bin_gege 阅读(240) 评论(0) 推荐(0)