小编Art*_*tur的帖子

范围[l,r]中可以置换为回文的子串数

给出一串s小写的英文字母,用|s| <= 10^5.有最多的q <= 10^5查询给出了一个范围[l, r],询问:字符串的多少个子串s[l...r]可以被置换形成回文.

现在,如果出现奇数次的字符数最多,则可以将字符串置换为回文1.我试图使用段树但似乎无法合并两个范围.我怎么处理它?

string algorithm data-structures

7
推荐指数
1
解决办法
736
查看次数

给定来自K个连续整数的每个数字的数字恢复序列

写下一系列N连续的正整数X.然后,选择每个数字中的一个数字并以相同的顺序写入.我们需要找到X满足一系列数字的最小值.

N并且给出一系列数字作为输入.我试图找到一些数学见解,但失败了.N可以大到10 ^ 5.

换句话说,给定和包含数字的长度为N的数组A,我们需要找到包含连续正整数(B [i + 1] = B [i] + 1)的长度为N的数组B,使得数字A [i]可以在数字B [i]中找到,B [0]是最小的.(B中没有数字包含前导0).

例如:如果给出9,2,1,2,2,那么最小的X是19(19,20,21,22,23).

另一个例子:如果给出9 8 9 1 0那么这样的序列将是97 98 99 100 101.看到你可以在给定的序列中找到这个系列中相应数字的数字.97是可能的最小起始数(1097也足够但不是最小的起始数).

任何关于如何解决这个问题以及这类问题的提示都会有所帮助.

algorithm

6
推荐指数
1
解决办法
147
查看次数

内有N个点的三角形数

给定平面中的一些点(高达500点),没有3个共线.我们必须确定顶点来自给定点并且其中包含正好N个点的三角形的数量.如何有效地解决这个问题?天真的O(n ^ 4)算法太慢了.有更好的方法吗?

math geometry combinatorics computational-geometry triangle-count

6
推荐指数
1
解决办法
491
查看次数

通过将两个相邻的x转换为一个(x + 1)可实现的最大数量

给定一系列N整数,其中1 <= N <= 500数字介于两者之间1 and 50.在一个步骤中,任何两个相邻的相等数字x x可以用一个替换x + 1.这些步骤可达到的最大数量是多少.

例如,如果给定2 3 1 1 2 2则最大可能是4:

2 3 1 1 2 2 ---> 2 3 2 2 2 ---> 2 3 3 2 ---> 2 4 2.

很明显,我应该尝试做得比序列中可用的最大数量更好.但我无法弄清楚一个好的算法.

algorithm brute-force

5
推荐指数
1
解决办法
327
查看次数