未来0116
未来0116
全部文章
分类
c++(4)
算法(5)
编译器(1)
题解(90)
归档
标签
去牛客网
登录
/
注册
未来0116的博客
保持主动 无限追求
全部文章
(共101篇)
题解 | #扩散#
一.题目描述 NC545扩散 给出n个结点,n-1条双向边使得结点之间双向连接,有每次操作,每次操作会使会使对应的点和其之间连接的点的点权加一,求m次操作过后每一个点的的点权是多少? 二.算法一(模拟) 首先我们可以利用二维vector进行存边,对于每一次的m操作,我们可以先将指定结点点权加一,然...
C++
模拟
2021-10-13
1
428
题解 | #简单的变换#
一.题目描述 NC638简单的变换 给一个正整数n,如果n是奇数,将其减去3;如果n是偶数,将其变为n/2。如果可以进行若干次操作后使得n等于0,返回需要操作的次数,如果无法将n变为变为0,返回-1。 二.算法一(数学) 我们可以从0开始反过来推导,首先要使n的最后值是0那么必然是n−3=0n-3...
C++
暴力
模拟
2021-10-06
1
459
题解 | #牛牛算数#
一.题目描述 NC637牛牛算数 给出n个元素的数组arr[i],问这个数组的中位数大还是平均数大,如果中位数更大输出1,如果平均数更大输出-1,如果中位数和平均数相等输出0。 二.算法一(模拟) 对于比较最后中位数和平均数的大小,我们可以直接求出来整个数列的中位数和平均数,如果中位数更大返回1,...
C++
模拟
2021-10-06
1
460
题解 | #牛牛爱奇数#
NC636牛牛爱奇数一.题目描述对于一个序列,每一次操作可以把相同的偶数除以2,求将整个序列全部变成奇数最少需要几次操作。解释:对所有的2进行一次操作数组变为[1,1,3],那么满足整个序列全部变成奇数二.算法(模拟)首先理解题意我们知道对于相同的偶数而言,我们每一次的操作是相同的那么,那么对于每一...
C++
模拟
set
2021-09-25
3
477
题解 | #大鱼吃小鱼#
一.题目描述题目大意:有一个N个数的数列,每一个数可以删去右边连续递减且小于当前数的数列,返回需要进行几次操作可以使得数列保持稳定,其数量不会发生变化。二.算法(模拟+递归)理解题目的意思我们可以知道每次都会将一个数右边小于该数字的连续子序列删除,那么对于每次删除后的结果进行递归,记录最后数列趋于稳...
模拟
搜索
2021-09-14
1
651
题解 | #连通块#
一.题目描述NC572连通块有一棵树有n个节点n-1条边,需要判断是否可以将这棵树划分为k个连通块并且每一个联通块的节点的总和是不是大于等于m。二.算法(暴力搜索)我们需要判断是否可以将这棵树划分成k个连通块并且每个连通块的总和是不是大于等于m,等价于是否可以把树划分成大于等于k个的连通块并且每一个...
搜索
2021-09-13
1
812
题解 | #寻找牛妹#
一.题目描述NC571寻找牛妹n个结点之间有n-1条边,有一个目标数组X,其中有m个目标结点,从根结点走到每个目标结点Xi,每条边最多可以走两次,问从根结点走到每一个目标节点最多可以经过几条边?二.算法(暴力搜索)首先我们要理解题意,但对于n个节点之间有n-1条边我们可以认为其是一个树,由于其连通性...
树
2021-09-02
2
473
题解 | #牛牛的魔法值#
一.题目描述NC574牛牛的魔法值求一个数组中每个连续子段中最大值和次最大值的异或值的最大值二.算法(模拟)我们可以枚举数组中每个元素,将其作为次大值,因为它所在的连续子段中只存在一个最大值,可以去寻找右边第一个比它大的元素和左边边第一个比它大的元素,分别进行将枚举的元素和左右边最大值异或运算,得到...
模拟
2021-08-25
4
536
题解 | #牛牛算数#
一.题目描述NC575牛牛算数计算x,y两个数的和,需要花费秒,并且每次只能计算一次,怎么合理安排计算的顺序,可以使得花费的时间最短,输出计算n个数字和的最小花费的时间。二.算法(优先队列)利用STL中的priority_queue来解决问题,用priority_queue来模拟小根堆,开始对所有花...
模拟
优先队列
2021-08-25
1
536
题解 | #扩散II#
一.题目描述NC570扩散IIn个节点,n-1条边使之连通(两两之间是联通的),每条边代表距离为1。一共m次污染,每次发生在数组元素x[i],影响范围是与发生点距离不超过y[i],影响范围所有节点污染指数增加z[i],污染指数初始值全部为0,求m次污染发生后,每个节点的污染指数。二.算法(搜索)理解...
模拟
2021-08-18
0
457
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页