蒟蒻果冻01
蒟蒻果冻01
全部文章
分类
题解(1)
归档
标签
去牛客网
登录
/
注册
蒟蒻果冻01的博客
全部文章
(共6篇)
题解 | 显生之宙
思路很简单,负数或0加到全局,正数加到最大的数,排序后从小到大依次处理。C++代码很短。注意到某些正数加了负数之后可能会变成负数或0,继续加到全局即可。 #include <bits/stdc++.h> using int64 = int64_t; using namespace std...
2026-03-13
1
16
题解 | Tokitsukaze and Colorful Chessboard
直接想到这是利用了国际象棋的棋盘的性质,黑格子互不相邻,白格子也是,于是一个面积为的矩形棋盘最多可以容纳个第一种棋子,以及个第二种棋子。按照这个规律,二分即可。注意二分的量是正方形的边长,以及乘法不要越int的界,而不是面积。C++代码在图片下面: #include <iostream>...
2026-03-11
1
14
题解 | Tokitsukaze and Colorful Chessboard
直接想到这是利用了国际象棋的棋盘的性质,黑格子互不相邻,白格子也是,于是一个面积为的矩形棋盘最多可以容纳个第一种棋子,以及个第二种棋子。按照这个规律,二分即可。注意二分的量是正方形的边长,以及乘法不要越int的界,而不是面积。C++代码在图片下面: #include <iostrea...
2026-03-11
1
15
题解 | 不是烤串故事
这里直接利用z函数的信息复用思想,可以达到最优的时间复杂度.发现可以先得到从每个开始的和的后缀的LCP的长度,记为数组 b.难点是得到翻转后与的LCP的长度,记为数组 a: 设已经得到,此时和的末尾分别加上一个和,如果,那么显然的;否则设与的LCP的长度为,如果,那么与的LCP的长度小于,也...
2026-03-10
3
16
题解 | 连分数
注意到跟辗转相除有关,直接递归模拟即可,代码非常短且浅显易懂,注意最里层是一个正整数,不应该用花括号包裹。 #include <iostream> using namespace std; int main() { auto f = [](auto &&f, ...
2026-03-08
1
24
题解 | #区间或与与再异或之和最大值#
F题思路 考虑 + 从左往右扫描。 首先分别探讨二进制下的每一位,一段区间的值的为1当且仅当这段区间的既有0也有1,于是可以直接计算每一位的前缀和,在 时间内计算出区间 的答案。 然后 的值随 减小而减小(不增),从位置 向左找到最大的 ,使得区间 内的所有数字的第 位上至少有一个...
C++
动态规划
数组
前缀和
2025-09-26
5
83