摘要:
P6312 题解 题面 原题传送门 题意 题目的意思非常简单,就是给定一个字符串 $s$,问 $s$ 是否为回文串。 前置知识 哈希 (没了,真的很简单) 思路(解法) 首先,哈希都会吧?不会的先看这。 其实判断回文最简单的就是分别求从头开始和从尾开始的哈希值,比较即可。 那么哈希值又是怎么求的呢? 阅读全文
posted @ 2025-01-29 15:49
naroto2022
阅读(16)
评论(0)
推荐(0)
摘要:
CF191A 题解 题面 原题传送门 题意 给定 $n$ 个字符串,将其中一些字符串取出来并拼接在一起,满足拼接的前面一个字符串的结尾与拼接的后面一个字符串的开头相同,且拼接成的字符串的收尾相同。 例子:$\text{asc cdlaks sloa}$。 (无特殊意义,随便举的例子。) 思路 一看到 阅读全文
posted @ 2025-01-29 15:47
naroto2022
阅读(11)
评论(0)
推荐(0)
摘要:
CF1176C 题解 题面 原题传送门 前置知识 离散化(不会的看后记) 思路 首先看题目,题目问最多要删几个数,那不妨换一个角度想,想在数组 $a$ 中有几个数字可以不被删掉,进一步转化为求在长度为 $n$ 的数组里有几个“好的数列”,最后拿总数 $n$ 减去不被删掉的数即可。 实现 首先先给数组 阅读全文
posted @ 2025-01-29 15:46
naroto2022
阅读(10)
评论(0)
推荐(0)
摘要:
CF917A 题解 题面 原题传送门 思路 看了下题目,很简单,直接从开头开始爆搜即可,枚举出一种可能,答案就加一。 问题来了,爆搜的过程呢? 容易想到,可以用一个变量 $sum$ 动态统计当前序列未配对的左括号的数量,对于一个 $si$ 有如下两种情况: 若 $s[i]$ 为 (,则 $sum$ 阅读全文
posted @ 2025-01-29 15:46
naroto2022
阅读(14)
评论(0)
推荐(0)
摘要:
P7697 题解 前置知识 单调队列求区间最值。(可以看后记) 题面 原题传送门 思路 第一个答案 先看样例解析图: 我们需要满足题目刷的限制,保证刷子完全接触栅栏,也就是每次刷的时候不能刷到空的; 所以,我们可以求得在 $i$ 到 $i+x-1$ 刷的高度就是 $\min(a[j])(j\in[i 阅读全文
posted @ 2025-01-29 15:46
naroto2022
阅读(10)
评论(0)
推荐(0)
摘要:
P5186 题解 前置知识 单调队列求区间最值。(可以看后记) 题面 原题传送门 思路 第一个答案 先看样例解析图: 我们需要满足题目刷的限制,保证刷子完全接触栅栏,也就是每次刷的时候不能刷到空的; 所以,我们可以求得在 $i$ 到 $i+x-1$ 刷的高度就是 $\min(a[j])(j\in[i 阅读全文
posted @ 2025-01-29 15:44
naroto2022
阅读(14)
评论(0)
推荐(0)
摘要:
CF1604B 题解 题面 原题传送门 题意 给定一个长度为 $n$ 的数组 $a$,将 $a$ 分成若干段,问是否有一种分段的方法使得每一段的最大上升子序列的长度的异或和为 $0$。 有多组数据。 前置知识 位运算,知道异或算法相同为假,不同为真,理解并能够运用 $1\oplus 1=0$。 数学 阅读全文
posted @ 2025-01-29 15:44
naroto2022
阅读(40)
评论(0)
推荐(0)
摘要:
CF1513B 题解 题面 原题传送门 题意 给定一个数组 $a$,问在 $a$ 中有多少种排列满足对于任意 $i(i\in[1,n))$ 有 $a_1&a_2&a_3&\cdots&a_i=a_{i+1}&a_{i+2}&a_{i+3}&\cdots&a_n$。 前置知识 位运算,知道与运算是两者 阅读全文
posted @ 2025-01-29 15:44
naroto2022
阅读(9)
评论(0)
推荐(0)
摘要:
CF1721E 题解 题面 原题传送门 前置知识 KMP,基本的字符串函数。 (不懂 KMP 的可以翻到最底下看看后记) 思路 对于每个询问,其实只要把 $t$ 接在 $s$ 的后面跑 KMP 即可。(不懂 KMP 的看后记!) 但这样会 TLE。。。 很遗憾,那就多设一个数组 $last$。 设 阅读全文
posted @ 2025-01-29 15:43
naroto2022
阅读(25)
评论(0)
推荐(0)
摘要:
CF1497E1 题解 题面 原题传送门 思路 看到 $n\leqslant2\times10^5,k\leqslant20$,自然想到 $O(nk)$ 或 $O(nk^2)$ 的 DP。 设 $f[i][j]$ 表示前 $i$ 个数中修改 $j$ 个划分的最小段数,$g[i][j]$ 表示表示以 阅读全文
posted @ 2025-01-29 15:43
naroto2022
阅读(13)
评论(0)
推荐(0)