cdq分治
TRZNDP_Z
这个作者很懒,什么都没留下…
展开
-
2020 游族杯C (cdq分治,三维偏序问题变形)
题意: 在三维空间中有n个点,对这个空间有多次操作,每次操作将所有孤儿点给删除。对于点(x,y,z)它是孤儿点当且仅当不存在一个点(x1,y1,z1)满足x1<x,y1<x,z1<z。 问每个点在第几轮被删除 题解 对于这个在队友的提示下知道是cdq分治的。从cdq分治第一反应是什么,偏序问题。这题也可以理解为一个偏序问题。 本题中,cdq分治为:分治分。首先处理左区间,再把左区间的影响加到右区间上,再分治右区间。这里的影响是指如果点B(x1,y1,z1)是严格小于点A(x,y,z)的话,原创 2020-05-25 01:28:11 · 182 阅读 · 0 评论 -
51nod 1376 最长递增子序列的数量(dp+cdq分治)
51nod 1376 最长递增子序列的数量(dp+cdq分治) 数组A包含N个整数(可能包含相同的值)。设S为A的子序列且S中的元素是递增的,则S为A的递增子序列。如果S的长度是所有递增子序列中最长的,则称S为A的最长递增子序列(LIS)。A的LIS可能有很多个。例如A为:{1 3 2 0 4},1 3 4,1 2 4均为A的LIS。给出数组A,求A的LIS有多少个。由于数量很大,输出Mod 1...原创 2018-09-07 20:29:51 · 239 阅读 · 0 评论 -
CodeForces1024 Petya and Array(cdq分治/树状数组)
CodeForces1024 Petya and Array(cdq分治/树状数组) 传送门 题意: 给你长度为n的序列,问你有多少个子区间和小于等于ttt 题解: 这题其实就是树状数组求逆序对的推广。树状数组是肯定可以做的,我这里用了cdq分治的方法做了(感觉难敲了挺多)。 #include<bits/stdc++.h> using namespace std; const int ...原创 2018-09-19 16:16:08 · 160 阅读 · 0 评论