摘要:
https://loj.ac/problem/10129 题目描述 维护一个序列,有三个操作:$①$询问$[l,r]$区间内的所有数的和;$②$把区间$[l,r]$的数都乘上一个数;$③$把区间$[l,r]$的数都加上一个数。 思路 这道题就是货真价实 阅读全文
摘要:
https://loj.ac/problem/10128 题目描述 给出一个序列$A$,要求维护两个操作:$①$询问$[l,r]$中所有数的和;$②$将$[l,r]$中的每个数$a$改为$\sqrt{a}$ 思路 个人表示这道题虽然看起来很难维护,不过 阅读全文
摘要:
https://loj.ac/problem/10127 题目描述 给出一个序列$A$,要求维两个操作:$①$在序列的末尾加一个数;$②$询问着个序列中最后$L$个数的最大值。 思路 这道题做法比较多,可以用动态$ST$表做,不更显然的方法是线段树。我 阅读全文
摘要:
https://loj.ac/problem/10042 题目描述 给出一段数字序列,求一段最长的连续的序列使其中的元素不重复。 思路 这道题显然想要我们给出$O(n)$的算法,所以我们考虑用双指针,每当有指针右移时,判断加入的数是否出现过,出现过就接 阅读全文
摘要:
https://loj.ac/problem/10041 题目描述 给定一个数列,$a_0=1$,$a_{i+1} = (A×a_i + a_i\ mod \ B)mod\ C$。求第一个出现重复项的标号。 思路 由于给定答案不会超过$2×10^6$, 阅读全文
摘要:
https://loj.ac/problem/2452 题目描述 反对称串定义为进行$0、1$取反后再反过来和原串相同的字符串,给出一个字符串,求它的多少个子串是反对称串。 思路 首先我们从反对称串的定义入手,我们考虑如果一个串$S$为反对称串,显然它 阅读全文
摘要:
https://loj.ac/problem/2427 题目描述 给出一段序列$A$,求一个$k$使将序列$A$分为$k$段(不是倍数最后一段舍去)不同的段数最多。一个串的反转和它本身相同。 思路 这道题$A$的长度并不大,我们可以暴力枚举$k$,对于 阅读全文
摘要:
https://loj.ac/problem/10038 题目描述 给出一个字符串$S$,以及$q$次询问,每次询问这个字符串子串的最短循环节。 思路 这道题是毒瘤题,一定是毒瘤题,至少$loj$的数据是。我有两个思路,一个$93$分,一个不加快读$9 阅读全文
摘要:
https://loj.ac/problem/2823 题目描述 给出一个字符串$U$,求满足条件的字符串$S$使其复制一遍再插入一个字符后的字符串为$U$。 思路 由于插入过一个字符,所以我们可以进行一次扫描,每次扫描时将这个字符去掉,把去掉后字符串 阅读全文
摘要:
https://loj.ac/problem/10036 题目描述 给出一些字符串,求每个字符串既是前缀又是后缀的子串长度。 思路 显然这可以用$KMP$做,只要明确$next$数组的意思就行。不过一个更暴力的做法,直接字符串$Hash$,求每个前缀$ 阅读全文
摘要:
https://loj.ac/problem/10035 题目描述 给出一个字符串,求它最多由多少个相同的字符串重复链接形成。 思路 其实题目就是要我们求出最小循环节的长度,再用字符串长度除以这个长度就是答案。求最小循环节显然用$KMP$就可以,但这里 阅读全文
摘要:
https://loj.ac/problem/10034 题目描述 设计一个系统支持两个操作: $①$加入一个字符串$s$; $②$查找是否存在一个字符串。 思路 我们这里的要求是维护一个可快速查找、插入 阅读全文
摘要:
https://loj.ac/problem/103 题目描述 给定一个字符串$A$和一个字符串$B$,求$B$在$A$中的出现次数。$A$和$B$中的字符均为英语大写字母或小写字母。 思路 显然这是道字符串匹配题,我们可以用$KMP$求解。但这里我主 阅读全文
摘要:
https://loj.ac/problem/2653 题目描述 给出一个$n×n$的数组,表示$(i,j)$的高度,定义山谷为周围一片的高度都大于它,且在它里的方格高度都相同;定义山峰为周围一片的高度都小于它,且其中的高度相同,求山峰数和山谷数。 思路 &ems 阅读全文
摘要:
https://loj.ac/problem/10031 题目描述 在一个$4×4$的方格内,有若干个$1$,每次可以交换$0、1$的位置,求最少多少步移成目标状态。 思路 这道题和 "棋盘游戏" 似乎没有太大区别,只是$0、1$数量不确定,思路一样, 阅读全文
摘要:
https://loj.ac/problem/10030 题目描述 给出一个虚拟键盘,键盘上有一光标,可以上下左右移动,移动时沿该方向一直移动到不同字符,求将给定字符串输出的最小步数(初始位置在左上角,移动为一步,点击键盘为一步,字符串结尾有换行符,用$‘ ’$表示)。 思路 阅读全文
摘要:
https://loj.ac/problem/10029 题目描述 在一个$4×4$的棋盘上有$8$个黑棋和$8$个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的。移动棋子的规则是交换相邻两个棋子。给出一个初始棋盘和一个最终棋盘,请找出一个最短的移动序列使初始棋盘变 阅读全文
摘要:
https://loj.ac/problem/10028 题目描述 在一个$L×L$的棋盘中,给出马的初始位置和终止位置,求最少跳多少步从初始到终止。 思路 $bfs$的模板题,不过为了提高速度我们可以采用双向宽度搜索,分别从起始位置和终止位置进行$b 阅读全文
摘要:
https://loj.ac/problem/10027 题目描述 一块魔板由两行各四个数组成,初始状态为 :第一行:$1,2,3,4$ ;第二行:$5,6,7,8$。并且魔板有$3$种操作,$A$为交换上下两行,$B$为将最右边一列转到最左侧,$C$为魔板中心顺时针旋转。给 阅读全文
摘要:
https://loj.ac/problem/2632 题目描述 给出$n$行$m$列的斜线,要求从$(0,0)$走到$(n,m)$,只能往四个斜方向走,若斜线方向与走的方向相同,花费为$0$,否则花费为$1$. 思路 比较经典的$bfs$题,可以看做 阅读全文