
递归
liusu201601
这个作者很懒,什么都没留下…
展开
-
luogu-P7073-后缀树
题目连接该题是CSP-J2-2020-T3题目大意输入一个后缀表达式,根据输入的条件,取反和输出。感谢MZH同学详细的题解解法分析303030分暴力。每次更改某一点数值后,重新计算后缀表达式。后缀表达式求值可以用一个栈。如果当前考虑的是数,就直接把它放进栈里;如果是!,就弹出一个数,把它的取反后的数放回栈;如果是|或者&,那么就弹出两个数,计算他们两个通过该种运算后得到的结果后放回栈里。最后栈里剩下的数即为答案。时间复杂度O(n2)O(n^2)O(n2)。(讲真栈的想翻译 2020-12-02 09:41:31 · 206 阅读 · 0 评论 -
luogu1160:队列安排:双向链表/树的中序遍历
题目连接该题是luogu试炼场的2-13:T4题目大意n个数字组成的队列,多次的插入;再删除其中m个元素;要求输出最后的队列状态题目分析看题目第一反应是队列:但因为多次的间隔插入和条空删除,应该要用链表来做,链表的思想请参考 思路1:双向链表 思路2:用树来存储,中序遍历输出解题思路1:双向链表最开始的时候队伍里只有1号同学;接下来的...原创 2019-05-08 09:16:00 · 232 阅读 · 0 评论 -
luogu1115:最大子段和:贪心/二分+递归
题目连接该题是luogu试炼场的2-13:T2题目大意n个数字,求子段中,最大的连续和;题目分析看题目第一反应是队列:但因为不知道子段的长度,所以很难判断何时出队列; 思路1:贪心 思路2:线段树式的递归解题思路1:贪心设当前是 i ,则前面的“段”的和不能是负数;所以只要前面的“段”的和不是负数, i 就可能加进去;如果前面的“段”的...原创 2019-05-07 15:30:38 · 736 阅读 · 0 评论 -
luogu1305:新二叉树:建树与前序遍历
题目连接该题是luogu试炼场的2-14:T4题目大意给出n组父子关系,要求构成一棵树;输出这棵树的前序遍历。题目分析构树用结构体,前序遍历则是:先根,再左右。解题思路:结构体记录一个点的左儿子 s1,右儿子 s2;直接将关系连接起来;递归输出就好:先根,再左右。代码://luogu1305:新二叉树//建树//输出前序遍历 #includ...原创 2019-05-09 08:26:15 · 189 阅读 · 0 评论 -
luogu1010:幂次方:二进制+递归
题目连接该题是luogu试炼场的2-10:T2题目大意给出一个n,要求按照2的幂,拆分到最小;按一定的要求输出;题目分析赤裸裸的递归题目将一个数字递归拆分成不大于2的情况解题思路理解二进制的拆包思维递归熟练度,细节也很少,代码详解上代码//luogu1010:幂次方 //解题思路://经典递归题:一直二进制拆包,拆不动了,然后归 #inc...原创 2019-04-17 10:59:29 · 246 阅读 · 0 评论 -
luogu1433:吃奶酪:深搜
题目连接该题是luogu试炼场的2-9:T3题目大意给出一个n,表示有n个奶酪;给出n个奶酪的坐标,求吃完全部奶酪的最短路径;题目分析最短路问题解题思路似乎就是暴力做呀。。。如果觉得这题没难度,尝试用搜索思维做**P1171售货员的难题 **;上代码//luogu1433:吃奶酪 //爆搜最短路问题:类似luogu1171:售货员的难题 #inc...原创 2019-04-15 19:32:13 · 298 阅读 · 0 评论 -
luogu1040:加分二叉树:枚举根+前序遍历的输出
题目连接:该题是luogu试炼场的2-7:T4题目大意:1给出一棵树的中序遍历,给出各个节点的分值,求最大的加分;2加分规则如下:2.1如果是叶子结点: 分值=节点分值;2.2如果是单边的根节点: 缺左边子树的话:分值=1*右子树的分值+根节点分值; 缺右边子树的话:分值=左子树的分值*1+根节点分值;2.3如果左右都有子树的根节点:...原创 2019-04-04 15:32:56 · 242 阅读 · 0 评论 -
luogu1051:谁拿了最多的奖学金:双关键字排序模板
题目连接:该题是luogu试炼场的2-4:T2题目大意:1 给出各人的成绩和获奖信息,求出各自的奖金;2 排序输出最高的奖学金;3 奖金相同的,输出编号最早的;解题思路:1 主要是掌握二分排序的进阶:双关键排序:成绩相同的时候,输入较早(编号较小)的排在前面。上代码://luogu1051:谁拿了最多奖学金 //双关键字排序模板:分数相同的时候,序号小的先输出 /...原创 2019-03-18 11:44:31 · 331 阅读 · 0 评论 -
luogu1025:数的拆分:递归
题目链接题目大意:将n分成k份,有多少种组合,例如:77=1+1+57=1+2+47=1+3+37=2+2+3所以:将7分成3份,可以有4种组合方法;解题思路:1 观察发现,题目的数据:n只有200,k只有6,感觉暴力随便写一下就可以了;2 观察样例:因为是组合问题,所以可以无序变有序:每一份必须不小于前一份;3 边界条件:最多只能传递m份(m<=...原创 2019-03-07 15:54:37 · 218 阅读 · 0 评论 -
luogu1010:幂次方
题目链接题目大意:将一个数字按照2的次幂拆分:如:7,拆分成:2(2)+2+2(0) ;解题思路:1 明显是需要理解二进制的拆包思维:如何将一个数字拆分成若干个2的次幂,如果搞不懂,去研究一下背包里面的相关优化;2 剩下就是一个递归的问题了;上代码:#include<bits/stdc++.h>int n;void dfs(int x){ ...原创 2019-03-05 15:53:53 · 380 阅读 · 0 评论