
递推-递归
Jerry233
acm小白-从入门到出门左转
展开
-
HDU - 2044: 一只小蜜蜂...(递推)
传送门:HDU - 2044 题意: 蜜蜂只能从左向右走,不能返回 思路:递推公式dp[i] = dp[i-2]+dp[i-1],i代表两蜂房之间的距离,即从序号为1的蜂房到序号为i+1的蜂房的线路数,只能由左边相邻的两个格子到达,把前面两个格子线路数相加就行了,这样一来,dp[b-a]就是答案了 AC代码: #include #include #define LL lon原创 2017-08-07 13:09:07 · 377 阅读 · 0 评论 -
HDU - 2045: 不容易系列之(3)—— LELE的RPG难题(递推)
传送门:HDU - 2045: 不容易系列之(3)—— LELE的RPG难题 题意:排成一排的n个格子,用红、粉、绿三色去涂格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法。 思路: n个格子的涂法分两种情况: 1、第n-1个格子和第1个格子同色,这时有f(n-2)种涂法,而第n个格子有两种涂法,所以共有2*f(n-2)种涂法; 2、第n-1个格子和原创 2018-01-31 16:06:20 · 298 阅读 · 0 评论 -
POJ - 1579:Function Run Fun(递归,记忆化搜索)
传送门:POJ - 1579:Function Run Fun 思路:递归的规则已经告诉你了,注意输出格式,照着去实现就好了; 有个需要注意的地方就是,要使用记忆化搜索,当遇到已经计算了的就直接返回,避免因重复计算而超时。 AC代码: #include #include using namespace std; typedef long long LL; LL ans[21][21][21原创 2018-01-31 16:26:33 · 368 阅读 · 0 评论 -
HDU - 2050: 折线分割平面(递归)
传送门:HDU - 2050: 折线分割平面 题意: 1条折线分成2个平面,2条折线分成7个平面······问n条折线分成多少个平面 分析:由直线分割平面可知,增加第n条直线最多与前面的直线有 n-1 个交点,此时分出的平面增加了 (n-1)+1 个; 同理,增加第n条折线最多与前面的折线有2∗2(n−1)" role="presentation" style="原创 2018-01-31 17:23:30 · 438 阅读 · 0 评论 -
HDU - 1274: 展开字符串(递归,栈模拟)
传送门:HDU - 1274 题目意思:给定一个简短的字符串,根据相关规则将其展开成完整的字符串 思路:自己编写栈函数、或直接递归(调用系统的栈) 递归步骤:1、读入字符,只要不是)就读入,即进栈; 2、如果是数字,则记录,如果是字母,则默认缺省值为1;光标往后移读取数字后的字符; 3、如果是字母,则直接将字母按记录的次数循环输出;如果是(,则按记录的次数循环递归,即递归处理括号内的子串...原创 2018-03-02 09:32:22 · 310 阅读 · 0 评论