Laiyiwen_01
Laiyiwen_01
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
Laiyiwen_01的博客
全部文章
(共9篇)
题解 | #AsubB#
我们容易发现一个事实,假设 能够成为一个答案,那么 一定也是一个答案,也就是说,当我们固定 时,一定存在一个分界点 ,使得 到 都是答案,而 到 都不是答案。所以对每个 ,考虑二分这个分界点 ,每次只需要判断 是不是答案,然后缩小范围即可。 而判断 是不是答案是容易的,我们可以暴力...
2026-03-07
0
6
题解 | #众数#
这有 2000??? 考虑维护 表示 在 中出现的次数,由于 ,所以我们可以 暴力修改,你再考虑查询等价于先问你 的最大值 ,然后问你最后一个 的位置 ,你考虑把这个东西变成询问最以后一个 的位置 。 我们整理一下,需要支持单点修改,区间最大值、区间最后一个 的位置,不就是裸的线段树...
2026-03-06
0
8
题解 | #小红越级(hard)#
没有看懂差分做法,来一个暴力拆式子+数据结构做法。 考虑 ,然后你就发现都可以归约为 ,考虑中间情况,当其为 或 时候的贡献满足上面的式子,只有为 的时候上面的式子会算错,所以对于一个固定的 ,你考虑其答案为 ,其中 表示有多少个 满足 或 ,而 很好处理,只需要考虑 即可,考虑把 ...
2026-03-05
0
10
题解 | #小橙的异或和#
操作 显然可以用线段树简单维护,平凡。显然比较困难的是操作一。以下所称“操作”代指操作一。 这个操作乍一看就没有什么可维护性,但是你可以发现对区间 操作的时候,除了 这个点,其余点的值都至少减半,这里就有一个很好的性质,因为你多次操作过后肯定会剩下很多个 ,而对 去操作是不会改变其值的,有了...
2026-03-02
0
12
题解 | #波斐契那数列#
显然是矩阵快速幂。 显然有初始矩阵: 我们要找到一个矩阵 ,使得 容易得到: 然后直接矩阵快速幂即可,代码: #include<bits/stdc++.h> #define ll long long using namespace std; const ll mod=1e9+7; ...
2026-02-26
0
18
题解 | #牛牛的子序列#
写了一大坨屎。 考虑两个序列可能通过操作变得相同的必要条件,显然操作只会延长一些数字的连续段,而这些连续段所对应的数字不会改变,所以我们先扫出来两个序列的所有连续段,先判断数量是否一致,再判断每个连续段所对应的数字是否一致,注意还要判断 中每个连续段的长度都不能比对应的 中的连续段的长度长。 最...
2026-02-25
0
15
题解 | #斐波那契数列#
其实直接递推就行了,但是由于一开始没看清范围还写了个矩阵快速幂,代码: #include<bits/stdc++.h> #define ll long long using namespace std; const ll mod=1e9+7; struct matrix{ ll ...
2026-02-25
0
17
题解 | #对和#
考虑 ,于是维护 即可,又发现等价于维护 ,对于后面这个式子,只有 或者 时才会有贡献,对于前面维护后缀和,对于后面维护后缀奇数个数和,简单合并答案即可。代码: #include<bits/stdc++.h> #define ll long long #define db doub...
2026-02-23
0
23
题解 | 小红出牌(easy)
显然对于每个 答案是当前所有 构成的极长连续段个数,所以只要加入 时,判断其对整体的极长连续段个数产生的影响,简单分类讨论维护即可。代码: #include<bits/stdc++.h> #define ll long long using namespace std; ll n,...
2026-02-23
0
17