随笔分类 -  数据结构——树状数组

摘要:Description Luogu传送门 Solution 并不需要复杂的 DS( 考虑对于两个点 \(x,y\ (x < y)\),什么情况下才能使它们都有贡献。 第一个条件: \[ a_x < a_y \] 这个比较显然吧,就不多说了。 第二个条件: \[ x - a_x \leq y - a_ 阅读全文
posted @ 2021-12-22 21:50 xixike 阅读(171) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 一道很巧妙的结论题。 我们观察到题目中是一个双向冒泡排序。然后问你要进行多少轮才能排好序。 我们首先对于原数组进行离散化。 考虑冒泡排序的过程(假设当前数组未排好序): 第一次:找出一个最大值放到最后面。 对于位置 \(x\),冒泡之后一定有一个 阅读全文
posted @ 2021-10-27 18:04 xixike 阅读(216) 评论(0) 推荐(0)
摘要:Description 给定 \(n\) 个模板串,以及 \(m\) 个查询串。 依次查询每一个查询串是多少个模板串的子串。 洛谷传送门 Solution 发现题解区好多用 SAM 的,这里提供一篇AC自动机做法的题解。 我们先对询问串建AC自动机,然后计算每一个文本串对每一个询问串的贡献。 那么这 阅读全文
posted @ 2021-10-14 20:04 xixike 阅读(67) 评论(0) 推荐(1)
摘要:Description 洛谷传送门 有一些小于$10^6$的质数,你需要把它们倒过来并补成一个 7 位数,例如质数 700001,将转变成 1000070,900001,将转变为 1000090,你要将转变后的数存成一个序列。输入有两种操作: 查询:输入q i,你需要输出这个序列中前 \(i\) 小 阅读全文
posted @ 2021-09-29 22:17 xixike 阅读(46) 评论(0) 推荐(0)
摘要:Description 内部题目,不放链接了。 Solution 题意大概就是让求平均数大于 \(m\) 的子段的个数。 很容易想到前缀和,但是这个前缀和该怎么用呢? 我们可以先把 \(a\) 序列每个数都减去 \(m\) 之后在做前缀和。 这样判断一个子段是否合法只需要判断子段和是否大于 0,即可 阅读全文
posted @ 2021-09-25 23:29 xixike 阅读(43) 评论(0) 推荐(1)