摘要:
## 思路 发现此题除了模拟没有好的方法,所以考虑如何模拟。 先考虑删除操作,如果在删除的时候再去找要删除那些的话,就会使时间复杂度变高,所以考虑先预处理出每个括号对应的位置。如果按照操作删除括号,那么时间复杂度也是非常吓人的。所以我们考虑标记被删除的括号。 再考虑移动操作,如果移动的下一个位置是被 阅读全文
摘要:
## 思路 我们已经得知每盏灯的初始状态和哪两个开关控制它。 首先分类讨论: 如果最开始这盏灯是开着的,那么这两个开关应该做出同样的操作,即要么全按,要么全不按。 如果最开始这盏灯是关着的,那么这两个开关应该做出不同的操作,即一个按一个不按。 转化一个思路,就变成了有 $m$ 个数,其中有 $n$ 阅读全文
摘要:
## 思路 定义一个数组能分为若干份,每一份都是 $4,8,15,16,23,42$ 的前缀的数组是 **半优秀** 的。 容易发现只有满足以下性质的数组才是 **半优秀**: 令 $j$ 在数组的 $[1,i]$ 中出现的次数为 $num_{i,j}$,对于每一个 $i(1\leq i\leq n 阅读全文
摘要:
# 洛谷 P9391 红草莓 ## 写在前面 有超详细证明qwq! 这道题其实不难,你的感觉多半是正确的,但是证明有点麻烦,所以这篇题解,我就准备好好证明一下一些结论,所以有点长(也很基础)。 ## 核心思想:模拟 对于一个 $n$,每个 $a$ 可以模拟其会染色的珠子编号,即 $0,a,2a,3a 阅读全文
摘要:
## 思路 这道题可以改序列的 $k$ 个数,问有多少个数字可以变成众数。 那么我们可以检查每个数字,来判断这个数字是否可以在序列被更改后作为众数。 从最优的思路出发,我们每次肯定是把数量最多的一个数字变成想要的数字,这样才能保证进行的操作最少,但是需要考虑的是原序列出现最多次数的数字可能不止一个, 阅读全文
摘要:
# 题目大意 在元素互不相同的数列 $a$ 中选出一个长度为 $m$ 的元素互不相邻的子列,使得子列的极差最小。 # 思路 爆搜、$dp$ 肯定是过不了的,所以我们考虑固定某个值,赛时想到了固定最大或者最小值,然后找到另一个值,但是除了 $dp$ 没想到好做法,比赛结束了才知道正解居然是同时固定最大 阅读全文
摘要:
## 思路 首先想到暴力建边跑最小生成树,但是显然会 TLE。 所以思考有没有时间复杂度更低的做法,考虑到最小生成树是每次取最短的边,所以我们也可以先考虑较短的边。 首先最短的边一定是某一列或者某一行(或者若干列和行),所以我们取边,也应该是一行一行或者一列一列的取。 但是有些时候这样取,或构成环, 阅读全文
摘要:
## 思路 考试的时候打死没想出来,一直在想暴力和质因数分解,我实在是太弱了,比赛后看了官方题解才恍然大悟,于是来~~蹭~~写篇题解。 首先是一些特殊点: 1. 当 $n$ 是偶数时,显然 $x$ 可以取 $1$,这样 $\gcd$ 就都是 $1$,然后随便平分就好了。恭喜你,你获得了 $2$ 分。 阅读全文
摘要:
## 思路 这道题最开始没发现数列必须是 $1,2,3,\cdots,n$,然后直接交了个输出 $n$ 遍 $p$ 的代码。~~我真的好蠢啊~~ 后面才发现这一点,于是开始思考,首先从 $p$ 比较小的情况。 如果 $p$ 是 $1$ 的话,那显然直接输出 $1,2,3,\cdots,n$ 就好了。 阅读全文
摘要:
## 思路 首先分析一下操作 $2,3$。 对于操作 $2$,容易发现如果 $k$ 相等,就只可能是平行或者重合,显然不满足,那么答案就是总剩余直线数减去 $k$ 相同的直线数。 对于操作 $3$,发现只有平行的直线不会被删去,也就是只有 $k$ 相同而 $b$ 不同的直线不会被删去。 如此一来,这 阅读全文