在刷题的单身狗很开心
在刷题的单身狗很开心
全部文章
题解
2023河南萌新联赛第(八)场(3)
c++(1)
动态规划(5)
差分与前缀和(4)
洪水填法(1)
牛客小白月赛78(4)
牛客练习赛115(2)
牛客练习赛116(2)
算法(1)
算法刷题(2)
归档
标签
去牛客网
登录
/
注册
在刷题的单身狗很开心的博客
全部文章
/ 题解
(共176篇)
求逆序数
题目链接:1007-逆序数_2021秋季算法入门班第二章习题:递归、分治 (nowcoder.com) 快速排序模板题,要注意结果会超过Int, 要使用long long。 #include <bits/stdc++.h> typedef long ...
C++
递归
归并排序
2023-09-02
1
378
题解 | #表达式计算4#
通过找寻最低优先级的运算符来进行递归,由递归栈的性质可以得到先找最低优先级的然后递归就可以顺利将最后也就是最高优先级的运算符先计算然后计算结果返回到上一层接着计算。 在中间还牵扯到多余括号的处理以及字符串数字转数字。 #include <bits/stdc++.h> ...
C++
分治
2023-09-01
1
378
题解 | #[NOIP2004]FBI树#
题目中给的数据范围明确说明了长度是偶数,偶数的长度更容易分隔。题目中有要求后序遍历,那么可以从下向上进行是FBI的输出,又易知根是FBI的哪一种取决于子树的类型是否相同。 这样只需要让子节点将类型返回就可以简单地得到当前节点是什么类型。 #include <bits/std...
C++
二叉树
递归
2023-09-01
1
436
题解 | #小q的数列#
链接:https://ac.nowcoder.com/acm/contest/21763/1002 来源:牛客网 题目描述 小q最近迷上了各种好玩的数列,这天,他发现了一个有趣的数列,其递推公式如下: f[0]=0 f[1]=1; f[i]=f[i/2]+f[i%...
C++
递归
2023-09-01
4
469
题解 | #中序序列#
由于题目中所说若某节点只有一个子结点,则此处将其看作左儿子结点,那么可以从先序遍历中确认出当前位是根节点那么下一位就是左子树的头。又由于后序遍历是左右中的遍历过程,也就是说先序遍历中左子树头在后序遍历里面是左子树的结果。通过这个性质可以完成左右子树的分隔。从而求出中序遍历。 一点小问题:在传递...
C++
二叉树
2023-09-01
1
322
题解 | #[NOIP2001]求先序排列#
以题目中给出得例子为例,通过后序遍历取最后一位可以得到当前子树的根节点为:A,然后到中序遍历里面取寻找这个根节点,从而可以通过中序遍历来将当前树分割成左子树和右子树。 然后递归重复这个过程就可以得到先序遍历。要注意递归的条件要l1>r1,因为在边界处可以会出现l1>r1的情况这时候...
C++
递归
二叉树
2023-09-01
2
582
题解 | #第k小数#
在快速排序的过程中进行操作,快速排序定下的某个数排序结束之后可以得到当前数是第几个数,然后根据得到的第几个数可以进行向左还是向右的调整。 可以省略掉一些不必要的操作。 #include <bits/stdc++.h> using namespace&nbs...
C++
快排
递归
2023-08-30
0
457
题解 | #起床困难综合症#
通过一个全0 和 全1的二进制int数进行一系列操作可以得到每一位上如果填0或1的时候是什么样的情况。然后从前向后遍历二进制位,如果当前位可以由0变化成1那么可以直接将结果伤害的这一位填上1,如果只能由1变成1那么就需要判断当前的位上的原始伤害会不会超过范围,如果超过了就意味着无法填1。 #in...
C++
贪心
2023-08-26
0
383
题解 | #兔子的区间密码#
以最先不同的为开始,往后都可以取到1 #include <bits/stdc++.h> typedef long long ll; using namespace std; // inline ll&n...
C++
贪心
2023-08-26
0
325
题解 | #毒瘤xor#
//01的异或运算每一位都是独立的运算 //以及与和或都是按位进行运算,所以每一位都是独立的。 //在这里每一位的目的是要求每一位中得到结果是1的数字最后最好。 //所以如果某一位上1多就需要填0 //0多就需要填1 //如果0和1的数量相同则无所谓,但是题目上要求输出较小的解。所以取0。 #inc...
C++
贪心
2023-08-24
0
381
首页
上一页
9
10
11
12
13
14
15
16
17
18
下一页
末页