若它的一个子串出现的次数不少于K次,那么这个子串就是一个K-string。现给出原串,每次可以向该串后面添加一个字符或者询问当前有多少个不同的K-string。在线添加查询,解法直指SAM。其实给添加函数直接设置一个返回值直接更新ans就好了。对于每个状态,多开一个值记录它的出现次数,每次添加点过后...
分类:
其他好文 时间:
2014-06-25 16:48:37
阅读次数:
145
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1833题意:给定区间[a,b]。求区间内0到9每个数字出现的次数。思路:f[i][j]表示到后i位是否全 0(j=1表示i位之前全0)这个状态某个数字出现的次数,p[i][j]表示这个状态后...
分类:
其他好文 时间:
2014-06-23 08:07:38
阅读次数:
551
题目意思是给你一个字符串,f[x]是长度为x的子串中,出现个数最多的那个串的出现次数。给出原串,依次输出f[1],f[2],……。后缀自动机。对于某一个状态,right[]值的大小就是出现的次数,而且是对于长为step[]的子串的出现次数。因为小于step值的串在前面已经加了,在pre指针线上面的状...
分类:
其他好文 时间:
2014-06-23 07:14:18
阅读次数:
254
关于赫夫曼编码和赫夫曼树的相关知识可参考之前两篇文章(由二叉树构造赫夫曼树、赫夫曼编码)。本文介绍另一种构建赫夫曼树的方式,采用优先队列.
步骤:
1.首先我们需要统计不同字符出现的次数。一个字符出现的次数越多,说明其优先级越高,其赫夫曼编码应该越短;
2.将待编码的字符(即带权节点)存入优先级队列,优先级即字符出现的次数;
3.不断迭代队列,直到队列中剩下一个元素...
分类:
其他好文 时间:
2014-06-22 13:53:31
阅读次数:
255
数组中含有n个数,其中一个数只出现1次,其余个数均出现3次,就只出现1次的数。
首先应该想到的就是计数法,先对数组排序,然后统计每个数出现的次数,找出出现次数为1个数;
更高级一点的方法还是用位运算,充分发掘数字二进制中的0和1出现的规律。一个数字是由0和1组成的,如果这个数字出现3次,那么这个数字中各个位上0和1出现的次数也应该是3次。按照这样统计数组中所有数的各个位1的个数,如果个数是1个倍数,这所求数字该位不为1。
举例如下:
数组: 1, 3, 1, 5, 1, 6, 5, 6, 6, 5
对应的...
分类:
其他好文 时间:
2014-06-20 12:45:44
阅读次数:
185
第一行输出该词所在的行数序号(多个的话,按照从小到大排序输出,中间空格隔开,序号从一开始记),如果没有出现,输出 -1
第二行输出频次排名R的单词出现的次数。
测试数据中的词频的分布如下,可见,排名第3的词,出现的次数为2
I,4
Beijing,2
in,2
love,2
.,1
Bejing,1
a,1
also,1
am,1
and,1
beautiful,1
i...
分类:
其他好文 时间:
2014-06-18 06:52:00
阅读次数:
224
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。输入:每个测试案例包括2行:第一行输入一个整数n(1= middle) end...
分类:
其他好文 时间:
2014-06-15 21:33:50
阅读次数:
213
一个数组,数组元素含有3种颜色,红,白,蓝。要求将数组排序,将相同颜色排在一起,整体按照红白蓝的顺序。
这个题在日常生活中很常见。比如要将东西归类,当然这个题简化成了相同颜色就认为完全相同。
基于这个特点,可以先统计各个颜色出现的次数,然后在按照题目要求的红白蓝的顺序,依次放n个红,m个白,k个蓝,就Okay了,代码详见代码一。这个思路也就是题目下面提示的方法,这个方法需遍历2次数组,本题要求遍历一次就搞定的方法,想想这个还是有点难度的。
这个题目其实我们很容易就能联想到快排的划分上来,但是仔细一想,如果按...
分类:
其他好文 时间:
2014-06-10 15:56:14
阅读次数:
223
Givennpoints on a 2D plane, find the maximum
number of points that lie on the same straight
line.每次固定一个点,然后遍历所有其它点,记录每种斜率出现的次数。需要考虑两种特殊情况:斜率不存在和点与固定点重...
分类:
其他好文 时间:
2014-06-10 08:44:57
阅读次数:
164
编写程序统计并输出所读入的单词出现的次数想与习题10-1相结合,也就是先输入几组
map类型,存入vector中。再输入单词word,如果已经存在则在key对应的value+1如果不存在,则插入并使得其value为1.之前的问题是-》输入了一次之后,再要输入单词word,读不进。(呵呵
果然小白)看...
分类:
编程语言 时间:
2014-06-09 18:04:12
阅读次数:
228