摘要:
http://www.notonlysuccess.com/index.php/divide-tree/http://blog.sina.com.cn/s/blog_5f5353cc0100ki2e.html以上为两个不错的讲解:struct node{ int l,r; int mid(){ return (l + r)>>1; }}tt[N<<2];int toLeft[20][N];int val[20][N],sorted[N];int n,q;void build(int l,int r,int rt,int d){ int i; tt[r... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4417题意:给定一个长度为n的序列,求区间[L,R]中小于h的个数;思路:分三种情况:1:如果该区间最小值都大于h输出0;2:如果该区间最大值小于等于h输出区间长度:3:否则,二分枚举该区间的第m大,直到找到第m大为最后一个小于等于h的;View Code #include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include 阅读全文
摘要:
http://poj.org/problem?id=2104http://acm.hdu.edu.cn/showproblem.php?pid=2665题意:给定一个长度为n的序列,求一个区间[L,R]内第K大的数;思路:划分树模板题。给出个人感觉讲解比较好的连接:http://blog.sina.com.cn/s/blog_5f5353cc0100ki2e.htmlhttp://www.notonlysuccess.com/index.php/divide-tree/pkupoj2761一样的题目:个人理解:划分树就是按层划分区间,以排好序的mid为基准进行划分。建好树之后关键在于询问,我们 阅读全文