poj
文章平均质量分 80
lsr_yali
中国人寿,你值得拥有
展开
-
poj1741 点分治
题意:求一颗节点数为n(n 解:考虑点分治 分情况讨论,过根节点的链直接dfs+扫一遍统计方案数,方案数计算方法为:将该树所有离根节点的距离存下来排序,然后统计个数,再减去在同一子树内的点对数。 不过根节点的链通过递归子树求出,重复上面步骤。 为了防止子树退化成链从而退化为O(n^2),所以我们对于每一颗子树求出其重心再进行计原创 2016-12-02 21:12:26 · 269 阅读 · 0 评论 -
poj 2761 Feed the dogs
题意:给出n( 解:因为两两查询区间互不包含,所以按L从小到大排序,则必有Li 所以对于每一个查询,删除当前treap中当前查询不包含的点,插入当前treap中当前查询未插入的点 每个点删,插各一次,用treap实现,所以时间复杂度为O(nlogn) 代码: #include #include #include #include #include #d原创 2016-08-14 21:41:53 · 367 阅读 · 0 评论 -
poj1292
注意: 1.判断少了 2.精度问题(g++编译器要注意) B - Will Indiana Jones Get There? Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Description India原创 2016-08-11 14:45:39 · 382 阅读 · 4 评论 -
POJ2104 k-th number
题意:询问区间[L,R]间的第k大数解:主席树主席树的大致思路是先将所有值离散化到[1,n]然后对于每一个位置i建立一棵权值线段树维护位置[1,i]中的数字出现情况(例如:权值在[1,mid]范围内的数有x个)但是这样空间开销太大,所以我们考虑每一棵线段树每次建树时相对于前面只改变了logn个点,其他点均未改变,所以我们可以直接连上这些未改变的点,新建改变后的结点,这样,空间复杂度从n^2降为nlo原创 2017-02-16 23:01:27 · 157 阅读 · 0 评论