[题目链接] http://codeforces.com/contest/786/problem/C [题目大意] 给出一个数列,问对于不同的k,将区间划分为几个, 每个区间出现不同元素个数不超过k时最少的区间划分数量. [题解] 我们可以用树状数组+扫描线求出一个区间不同元素的数量, 我们记录每一个位置上下一个相同相同元素的位置,当扫描线扫过当前点时 我们消除这个点的影响,并在其下个出现的位置进行更新, 这样就能求出固定左端点不同右端点情况下不同区间内不同元素的数量, 这个题我们可以用倍增找出…