![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递归
AAAAAAAC——
.。。。。。。。。。。。。
展开
-
找两个有序数组的中位数
题意:对于给定的两个有序数组,找出其中位数。思路:两个数组已有序。求中位数需注意:奇数个数时中位数恰好在中间,偶数个数时为中间两数的均值。所以对于两个有序数组,找第k小的数,对于两数组分别前k/2项,最大值小的一定是前k-1项中的数。然后特判一项的情况就好了。代码:傻逼了,感觉以前做过的题,忘干净了,,且反应不过来。。class Solution {public: double fid(int k,int al,int ar,int bl,int br,vector<int原创 2021-04-13 14:22:26 · 359 阅读 · 0 评论 -
牛客 2018 暑假多校训练第二场
https://www.nowcoder.com/acm/contest/140#questionA题意:白云可以走[L,R]米,每秒只有两种走法,走1米或者k米。求有几种走法。思路:简单dp,很像以前那个入门dp,走台阶的问题,求出dp[i][j]:走到i位置前一步走了1米(j==0)前一步走了k米(j==1).的种类数,很简单,注意long long就行代码:#inc...原创 2018-07-22 09:22:46 · 237 阅读 · 0 评论 -
牛客 2018多校训练 暑假第一场
https://www.nowcoder.com/acm/contest/139#questionA题意:对于矩阵【n,m】,每个位置的元素<=其右、下的元素。思路:比赛完全想错思路,赛后看题解,,终于摸懂,就是转换思路,0,1之间可用一条线分隔开,1,2之间也可以用一条直线分隔开,而每条直线,从起点到终点,一共需要经过(n+m)条边,即(n+m)次选择行方向还是列方向,一定要选...原创 2018-07-19 21:27:52 · 366 阅读 · 0 评论 -
HDU 5303--Delicious Apples
http://acm.hdu.edu.cn/showproblem.php?pid=5303题意:长度为L的圈上,有n棵苹果树,每次最多摘k个,求把所有苹果树上的苹果都摘回起点0上的最短距离。所有树上的苹果总和不超过1e5.思路:有点贪心思想,苹果取回,要么取了原路返回,要么绕一圈再回去。但是可以发现,绕一圈的情况最多有一次,从中间平分,左后两边能满k运回去的,一定原路返回优于绕圈,因为有...原创 2018-07-17 15:53:42 · 135 阅读 · 0 评论 -
递推 钥匙计数之一
题目地址题目大意:一把锁匙有N个槽,槽深为1,2,3,4。每锁匙至少有3个不同的深度且至少有1对相连的槽其深度之差为3。求这样的锁匙的总数。思路:这个题本来是在状压dp专项里遇到的,光想状压dp了,,,搜了题解才知道是递归。。也算是个比较麻烦的递归了,分成两个数组关系,直接求难求,就转化成总数,减去不符合条件的,就能得到符合的,代码很好理解,就是自己做的话,很难想到递推方程代码:#原创 2017-12-01 21:51:27 · 283 阅读 · 0 评论 -
递归递推训练A-母牛的故事
1、题意:原有一头母牛,从第二年起每年生一头小母牛,小牛从第四个年头开始也每年生一头小母牛,第n年的时候共有多少母牛?2、思路:记录每年的小母牛与成年母牛的数量,找到递推公式:第n年成年母牛=第n-1年成年母牛+第n-3年小牛的数量;原创 2017-04-02 09:29:14 · 340 阅读 · 0 评论 -
递归递推B-王二小切饼
1、题意:饼不动,求n刀切成的块数;2、思路:最多就是第n次切过n块饼,即:a[n]=n+a[n-1];3、感想:此题类似于以前做过的数学题,所以递推公式比较好找,较简单;4、代码:#includeusing namespace std;int main(){ int n,a[101],i; a[0]=1; for(i=1;i100;i++)原创 2017-04-02 09:37:02 · 290 阅读 · 0 评论 -
递归递推c-递归的函数
1、题意:将指定的递归函数输出其指定值;2、思路:此函式递归方程已给出,但是函数递归过程中循环重复许多相同的步骤,直接递归会超时,因此,需要用空间换时间:用数组存储已算出的函数结果,下次需要直接调用;3、感想:此递归函数比较简单,因为递归函数已给出,只需加一个数组储存即可;4、代码:#includeusing namespace std;int s[31][31][31];原创 2017-04-02 09:43:44 · 456 阅读 · 0 评论 -
递归递推D-汉诺塔游戏
1、题意:求n个盘子在汉诺塔游戏中若放错步骤,将会产生多少系列;2、思路:通过了解汉诺塔游戏,发现只是规律,其系列为盘子数的3次方;3、感想:此题较为简单,了解了汉诺塔游戏,只需事先求出范围内的盘子数对应的系列数并储存起来,防止超时即可;4、代码:#includeusing namespace std;int main(){ long long a[30],n,i原创 2017-04-02 09:50:31 · 332 阅读 · 0 评论 -
递归递推E-养兔子
1、题意:有一对兔子,每天生一对小兔子,小兔子成熟期为一天,求n天后兔子总数;2、思路:此题曰与第一题类似,只需分别求出小兔子与成年兔子的数量即可;3、感想:此题与第一题类似,只是结果较大,根据提示,注意将数据类型换做long long 即可;4、代码:#includeusing namespace std;int main(){ int n; long原创 2017-04-02 09:55:23 · 368 阅读 · 0 评论