主席树的综合运用题. 前置芝士 1. "可持久化线段树" :~~其实就是主席树了~~. 2. "LCA" :最近公共祖先,本题需要在$\log_2N$及以内的时间复杂度内解决这个问题. 具体做法 主席树维护每个点到根节点这一条链上不同树出现的次数,然后发现这个东西是可以相减的,于是这条链上每个数出现 ...
分类:
其他好文 时间:
2020-01-31 21:02:56
阅读次数:
94
面试题39:数组中出现次数超过一半的数字 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 问题分析 大家最容易想到的思路是 数字次 ...
分类:
编程语言 时间:
2020-01-31 20:36:59
阅读次数:
63
面试题43:从1到n整数中1出现的次数 题目描述 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。 例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 问题分析 最容易想到的思路是通过对10求余数判断整数的个位数字是不是1。代码书写也很简单,但 ...
分类:
其他好文 时间:
2020-01-31 20:29:55
阅读次数:
70
今天和大家讲讲,在做算法题时常用的一些技巧。对于平时没用过这些技巧的人,或许你可以考虑试着去看看在实践中能否用的上这些技巧来优化问题的解。 1. 巧用数组下标 数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数 ...
分类:
编程语言 时间:
2020-01-31 18:48:19
阅读次数:
72
【题目描述】 给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。 假设 Fmax(Fmax<10000)Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2.....Fmax}{0,1,2.....Fmax}里每个数出现的次数。 【输入】 第一行n ...
分类:
其他好文 时间:
2020-01-30 22:33:39
阅读次数:
98
"Link" 普及题,开个桶记录一下每个数出现的次数即可。 ...
分类:
其他好文 时间:
2020-01-30 20:43:26
阅读次数:
68
剑指OFFER 数字在排序数组中出现的次数 题目描述 统计一个数字在排序数组中出现的次数。 利用排序特性解法 ...
分类:
编程语言 时间:
2020-01-26 17:20:37
阅读次数:
55
(因为没有认证,所以这道题就由 "Froggy" 上传) 线段树分裂用到的地方确实并不多,luogu上以前也没有这道模板题,所以就出了一道,实在是想不出怎么出模板了,所以这道题可能可以用一些其他的算法水过去. 前置芝士 1. "线段树" : 本题中用到的是权值线段树(查询每个数在序列中出现的次数,序 ...
分类:
其他好文 时间:
2020-01-26 10:24:03
阅读次数:
190
"C题地址:大小接近的点对" 分析题目: 方法一: 在dfs序上,树状数组维护每个数出现的次数;因为在dfs序上根比它的子孙先遍历到(遍历到根时,还没加入遍历孩子) 题目要统计 u是v的祖先时,dfs序就保证了,"在遍历到的结点x是根,而接下来遍历的都是它的子孙", 递归思想,叶节点先计算完,再向父 ...
分类:
编程语言 时间:
2020-01-25 18:19:37
阅读次数:
90
挺好的题目,就是不太会... H Index 题意:对于一个数组,对于每个$i( 1\leq i \leq n)$,找到一个数字$H$,使得$a_{1}...a_{i}$中大于等于$H$的数字的出现的次数也大于等于$H$。 solution: 可发现对于从$i$到$i+1$,答案最多增加$1$,可以 ...
分类:
其他好文 时间:
2020-01-24 20:08:26
阅读次数:
99