我是vegetable
我是vegetable
全部文章
题解
归档
标签
去牛客网
登录
/
注册
我是vegetable的博客
全部文章
/ 题解
(共7篇)
题解 | #和+和#
如果写过练习赛134的B题,你会很容易想到思路,完全可以借鉴 用一个数组记录a数组的前i项中m个数和的最小值 用一个数组记录b数组的后i项中m个数和的最小值 记录时,用一个优先队列,始终保持其中有m个数,往后取一个数如果比其中最大的数小,就踢出,并替换 根据题目条件,a选取最后一个数的下标不能比...
C++
堆(优先队列)
2025-02-23
5
44
题解 | #小L的三则运算#
我比较菜,赛时没写出来,但赛后,看了一些代码,人工列举了很多棋谱,发现了很多规律 做法开个数组统计行列的X棋子数量,同行行列有O让数量为负,代表无法连成三个 很显然,如果只下了1或者2步棋,必胜 如果只下了3步棋,那么输的情况只有类似于 空了一行或一列,且其他行如一下排列的棋局 (样...
C++
2025-02-09
1
22
E题的另一种理解
看了题解应该都知道是二分答案,二分答案关键在于怎么检验答案 如何检验答案 根据我们小学二年级学的,速度是相对的 我们可以这么规定向左的速度为0,那么向右的速度为2 此时我们可以一个一个计算向右的通过了多少个静止不动的 例如,现在当前的向右的位置为,在当前时间下,到达+,因此只要在+内静止不...
C++
双指针
2025-02-01
2
29
题解 | #Onewan的疑惑#
模拟指针,每个元素只会被枚举一次,时间复杂O(n) 简单来说,给每个枚举过的的元素他所在区间的左端点和右端点 每次给了一个区间后 如果左右端点没有落到枚举过的区间,那就直接枚举区间内所有元素 如果落在枚举过的区间 1.那么使左端点变为所落在区间的右端点 2.右端点变为所落在区间的左端点 循环...
双指针
2025-01-17
4
35
题解 | #牛客IOI周赛28-普及组#
牛客IOI周赛28-普及组 更好的阅读体验 String Game 简单模拟,把第一个移到末尾,移动的次数x不超过n,直接从第x个字符开始输出,然后输出前面的数 类似的如果超过n个字符,每移动n个字符,相当于还是原字符串,所以每次从开始输出,再输出的数 #include<cstdio> ...
2021-09-05
6
396
部分题解
蒟蒻能写几道水题题解吧阅读体验其他题题解会慢慢补上(实在补不上就鸽了 A 根据题意模拟,都还活着就加上两人攻击力和,同时小于等于0,直接跳出,还有一方存活加上10*攻击力退出 #include<cstdio> #include<cstring> #include<ios...
2021-08-27
3
396
题解 | #中位数#
中位数 (考时脑壳抽了 思路其实很简单容易知道最终序列长度为如果不操作,最小的中位数,即为位置为 我们把删去的数全都往中位数右边的数加即可,中位数不变 的序列中位数最小值 就是位置 如果,原序列和即为所求 记得排序( #include<cstdio> #include<cstri...
贪心
排序
中位数
2021-08-20
2
399