随笔分类 - 数据结构——树状数组
CF1575L Longest Array Deconstruction 题解
摘要:Description Luogu传送门 Solution 并不需要复杂的 DS( 考虑对于两个点 x,y\ (x < y),什么情况下才能使它们都有贡献。 第一个条件: a_x < a_y 这个比较显然吧,就不多说了。 第二个条件: \[ x - a_x \leq y - a_
P4375 [USACO18OPEN]Out of Sorts G 题解
摘要:Description 洛谷传送门 Solution 一道很巧妙的结论题。 我们观察到题目中是一个双向冒泡排序。然后问你要进行多少轮才能排好序。 我们首先对于原数组进行离散化。 考虑冒泡排序的过程(假设当前数组未排好序): 第一次:找出一个最大值放到最后面。 对于位置 x,冒泡之后一定有一个
SP8093 JZPGYZ - Sevenk Love Oimaster
摘要:Description 给定 n 个模板串,以及 m 个查询串。 依次查询每一个查询串是多少个模板串的子串。 洛谷传送门 Solution 发现题解区好多用 SAM 的,这里提供一篇AC自动机做法的题解。 我们先对询问串建AC自动机,然后计算每一个文本串对每一个询问串的贡献。 那么这
UVA11610 Reverse Prime
摘要:Description 洛谷传送门 有一些小于10^6的质数,你需要把它们倒过来并补成一个 7 位数,例如质数 700001,将转变成 1000070,900001,将转变为 1000090,你要将转变后的数存成一个序列。输入有两种操作: 查询:输入q i,你需要输出这个序列中前 i 小
#41. 新斯诺克
摘要:Description 内部题目,不放链接了。 Solution 题意大概就是让求平均数大于 m 的子段的个数。 很容易想到前缀和,但是这个前缀和该怎么用呢? 我们可以先把 a 序列每个数都减去 m 之后在做前缀和。 这样判断一个子段是否合法只需要判断子段和是否大于 0,即可