![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
递归
程序设计竞赛中递归相关知识
小飞猪Jay
远风知我意,微凉又深情。
展开
-
1225. 正则问题
当遇到的字符是( 的时候,就调用dfs,res+=dfs,因为左右括号里的串是可以直接加在x串上的。因为是要得到最长,所以 | 符号选择左右两边较长的那一串x。当遇到的字符是 | ,res = max(res,dfs),因为 | 要取两边的较大值。给出一个字符串,由()|x四种字符组成,问得到的最长的x是多少个。从头开始对整个字符串进行dfs,res表示dfs得到的x串的长度。当遇到的字符是 ) ,直接break,因为表示括号结束,跳出循环。当遇到的字符是x,res++,可以直接加在x串中。原创 2024-04-02 10:53:44 · 181 阅读 · 0 评论 -
979. 在二叉树中分配硬币
二叉树分配硬币原创 2023-07-14 14:25:31 · 239 阅读 · 0 评论 -
Digit Sum of N!
题目描述给你一个整数N,定义一种操作"digit sum of N!":表示将N!的所有位数相加,得到一个sum,再将sum的所有位数相加…不断重复此过程,输出整数N操作到只有一位数的时候的值。输入描述:输入包含多组数据,每组数据输入一个整数N(1<=N<=10000);输出描述:对于每一组数据,输出对应的值。示例1输入232018输出269思路:结论题。代码:#include <iostream>#include <algorithm&g原创 2020-07-03 14:12:03 · 370 阅读 · 0 评论 -
LP钱不够
输入描述:第一行包含一个正整数T(T<=10),表示有T组测试数据。每组数据第一行包含一个正整数n(3 <= n<=20)。给定一个n*n矩阵图,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是花费和,返回所有路径中最小的花费和。无摊位时花费为0,不会有负花费。输出描述:对于每一组数据,有一行输出,返回最小花费,最后输出无换行。示例1输入1525 81 51 98 4319 10 36 81 9195 38 7 84 408原创 2020-07-03 14:00:54 · 156 阅读 · 0 评论 -
计算方法之递归分治
一.全排列问题问题描述:有一组数R,需要输出它的全排列。R的递归可定义如下:当个数n为1时,Perm® = ®,其中r是集合R中唯一的元素当个数n大于1时,Perm®由(r1)Perm(R1),(r2)Perm(R2),(r3)Perm(R3),…,(rn)Perm(Rn)构成其中Ri = R - {ri} 即该集合中减去对应元素思路:看上面的问题描述几乎就懵掉了。说的乱乱的,我...原创 2020-03-06 14:17:24 · 198 阅读 · 0 评论 -
汉诺塔
汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。输入:输入一个正整数N,表示又n个盘子在第一根柱子上输出:输出操作序列,格式为move...原创 2019-04-05 12:31:00 · 216 阅读 · 0 评论 -
幂次方
任何一个正整数都可以用22的幂次方表示。例如137=27+23+2^0 137=27+23+20同时约定方次用括号来表示,即a^bab可表示为a(b)a(b)。由此可知,137137可表示为:2(7)+2(3)+2(0)2(7)+2(3)+2(0)进一步:7= 22+2+207=22+2+20(2^1用2表示),并且3=2+2^03=2+20所以最后1371...原创 2019-04-03 19:51:33 · 1581 阅读 · 0 评论