题目描述 给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。 输入 第一行两个数n,m。第二行n个数,a[i]。接下来m行,每行两个数l,r,表示询问[l,r]这个区间。 输 ...
分类:
其他好文 时间:
2017-01-17 14:02:14
阅读次数:
167
3524: [Poi2014]Couriers Description 给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。 给一个长度为n的序列a。1≤a[i]≤n。m组询问 ...
分类:
其他好文 时间:
2016-12-25 20:56:05
阅读次数:
208
Description 有一个长度为n的字符串,每一位只会是p或j。你需要取出一个子串S(从左到右或从右到左一个一个取出),使得不管是从左往右还是从右往左取,都保证每时每刻已取出的p的个数不小于j的个数。你需要最大化|S|。 有一个长度为n的字符串,每一位只会是p或j。你需要取出一个子串S(从左到右 ...
分类:
其他好文 时间:
2016-12-16 23:19:39
阅读次数:
232
Description 给一个长度为n的序列a。1≤a[i]≤n。 m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。 给一个长度为n的序列a。1≤a[i]≤n。 m组询问,每次询问一个区间[l,r],是否存在一个数 ...
分类:
其他好文 时间:
2016-11-27 17:02:52
阅读次数:
177
【题目大意】 给出一棵树,求三个节点使得它们两两之间的距离相等,问共有多少种可能性? 【思路】 显然,这三个节点是关于一个中心点对称地辐射出去的。 枚举中心点,往它的各个子树跑Dfs。tmp[i]表示当前子树深度为i的节点个数,p1[i]表示之前的子树中(不包括当前的子树),深度为i的节点的个数,p ...
分类:
其他好文 时间:
2016-11-12 13:41:28
阅读次数:
229
bzoj3524[Poi2014]Couriers 题意: 给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。n,m≤500000。 题解: 先建主席树,之后在查找时,只走s ...
分类:
其他好文 时间:
2016-09-16 11:37:44
阅读次数:
169
Sol 并查集. 一个点所能到达的最远是单调不降的.然后将链延长到两倍,预处理出每个点到达的最远点,然后倒着计算深度. 再然后一直跳,跳到>=x+n的点,因为跳到的点都能到最终的点,并且不影响后面的答案. Code ...
分类:
其他好文 时间:
2016-09-10 23:53:35
阅读次数:
251
Sol 线段树+拓扑序. 先把图的拓扑序搞出来,然后统计从起点到该点最长链,从该点到终点的最长链,然后建个起点终点,这里跟网络流很像,把它统一到一个有起点的图中,这里也要注意下细节处理.S,T的一个边割掉后最长链就是答案. 然后一开始所有点都在T的集合中,一个个将点加入S集合,用线段树维护每个节点 ...
分类:
其他好文 时间:
2016-08-18 10:08:05
阅读次数:
240
3831: [Poi2014]Little Bird Description In the Byteotian Line Forest there are trees in a row. On top of the first one, there is a little bird who woul ...
分类:
其他好文 时间:
2016-08-16 21:47:37
阅读次数:
274
【题目大意】 给一个长度为n的序列a。1≤a[i]≤n。 m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。 【思路】 只有query部分需要稍作修改。由于每个节点代表的是一个大小区间数的总数,所以只需判断左右子数的 ...
分类:
其他好文 时间:
2016-08-13 12:46:27
阅读次数:
153