本文主要是介绍spoj3267 D-query 主席树(可持久化线段树),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接
题意:给n个数,m次查询,求[l,r]之间不重复数的个数。
思路:主席树。用一个map记录每个值在当前操作下最新的位置,从前往后插入主席树。对于查询[l,r],窝们在root[ l ]下查询在r之前的不重复数的个数。详见代码:
/*********************************************************file name: spoj3267.cppauthor : kereocreate time: 2015年04月04日 星期六 14时29分56秒
*********************************************************/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<stack>
#include<cmath>
#include<string>
#include<algorithm>
using namespace std;
typedef long long ll;
const int sigma_size=26;
const int N=100+50;
const int MAXN
这篇关于spoj3267 D-query 主席树(可持久化线段树)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!