BeauWill
BeauWill
全部文章
分类
归档
标签
去牛客网
登录
/
注册
BeauWill的博客
全部文章
(共9篇)
题解 | 切题之路
模拟题,解释下题目:circle只做时间来得及的简单题(难度<a),rqy做时间来得及的困难题(难度>=b)和简单题(难度<b),其中困难题rqy需要两倍的时间来处理。注意数据范围,然而坑的是题目没有明说每个题做题时间和难度的范围,实测不开long long会卡一组测试点,故必须开...
2026-01-11
2
9
题解 | 小红的平滑值插值
首先考虑当前数组a的平滑值小于k的情况,这时我们可以选取任意的区间[i,i+1],其中i<=1<=n-1,选择在下标i和i+1中间插入值min(a[i],a[i+1])+k,就可以构造出数组a的平滑值刚好等于k的情况。再考虑当前数组a的平滑值大于k的情况,此时存在若干区间[j,j+1]使...
2026-01-10
2
13
题解 | 牛牛喜欢字符串
我们发现牛牛实际上只关心每组对应位置上的字母是否相同,那么就会很自然且贪心地想到,把出现最多的那个字母不动,修改其他字母。首先统计每组的第i个位置各个字母的数量,存储方式可以用数组或者哈希表来存储。然后枚举0~k-1个位置,每次ans都累加所有字母数(实际上就是n/k,有n个字母,每k个字母一组,一...
2026-01-09
2
10
题解 | 区间取反与区间数一
遇到区间问题,考虑双指针,前缀和,树状数组,线段树等算法或数据结构。而本题使用懒标记线段树可以轻松维护所需信息。jiangly老师的懒标记线段树的模板(我删去了一些此处用不到的功能): /* *此懒标记线段树是0-base的,用于构造的init_数组也是0-base的 *区间查询和区间修改的区间...
2026-01-08
1
10
题解 | 明日DISCO
对于每个位置,我们都贪心的尝试修改,如果可以修改,就把它修改为四个方向中的最大值和最小值(具体看它满足哪个条件)。其实这里修改后的值不为0,已经可以输出"NO"并return了。这是因为第0,n+1的行和列是不能修改的,要想使整个正方形棋盘的值都相等,只能整个棋盘上的数都为0。而...
2026-01-07
1
13
题解 | 统计个数
首先读入边,节点个数n<=200,因此用邻接矩阵存储比较方便,存在u->v的一条双向边,我们就让邻接矩阵g[u][v]=g[v][u]=1。然后按照题目要求进行统计,记cnt1为"三角"的数量,cnt2为"线"的数量,考虑枚举a,b,c,枚举到b的...
2026-01-06
1
16
题解 | 构造数列
根据题意,首先考虑一下输出“NO”的情况:由于前n/2个数字是偶数,后n/2个数字是奇数,我们发现若n/2是奇数,那么n/2个奇数相加也是奇数,而前面n/2个偶数相加一定是偶数,不满足题目对数组a的第三个条件即前 n/2 个数的元素之和等于后 n/2个数的元素之和,因此此时一定无法找到满足题意的数...
2026-01-04
1
21
题解 | 华华给月月准备礼物
考虑二分答案,如果没有看出来是二分答案,细读题目发现其实题目的说明中有暗示。答案显然满足单调性,ans在小于等于某个值的时候都是符合题意的(切出来的木棍数>=k),大于这个值的时候就不符合题意了,故可以二分。因此二分答案思路具体来说是:1.读入数据2.二分枚举答案初始化l为可能的最小值(显然0...
2026-01-02
1
20
题解 | 先序遍历、中序遍历和后序遍历
题目坑点还挺多,因此写个题解记录一下。坑点1:单向边,dfs u到v的时候与双向边不同即不需要加判断v!=fa,特判节点孩子情况的时候也与双向边不同坑点2:没告诉根节点,需要自己找入度为0的点作为根节点坑点3:节点单孩子的情况特殊,孩子节点值大于自身值才作为左孩子,否则为右孩子坑点4:节点有两个孩子...
2026-01-01
1
24