摘要: 题意:给出一个不降数列,并多次询问某区间内出现次数最多的数字在该区间内的出现频数。分析:线段树的题,似乎也可以用rmq. 这个题的难点在于查询,因为首先要把相同的数据归为一块(unique),并标记每个块中有多少个数字。由于这个数列是不降的,所以相同的数字在数列里一定是连续出现的。建树,并将每个块插入的树中作为一个叶子节点。这样查询时相当于l,r边界与题中给出的i,j是两个概念。所以此线段树需要两重边界。询问的时候要做特殊的边界处理。#include #include #include #include using namespace std;#define maxn 101struct no 阅读全文
posted @ 2011-02-06 20:54 金海峰 阅读(1461) 评论(0) 推荐(0) 编辑
摘要: 与最长公共子序列相似,dp. 注意循环的范围,不要总是想都不想就用小于。这题就应该用小于等于。 阅读全文
posted @ 2011-02-06 19:09 金海峰 阅读(289) 评论(0) 推荐(0) 编辑