![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递推与递归
摸鱼选手
这个作者很懒,什么都没留下…
展开
-
费解的开关CH0201
在一个5*5的01矩阵中,点击任意一个位置,该位置以及它上、下、左、右四个相邻位置中的数字都会变化(0变成1,1变成0),求最少需要多少次点击可以把一个给定的01矩阵变成全1矩阵? 题解:枚举第一行的点击方法,共32种,对于每种情况,固定第一行,若第一行中有0,唯一的解决方案就是点击对应得第二行的数字,递推后可以发现固定第一行以后点击方案是确定的,那么枚举32种情况计算最小值即可。 #includ...原创 2019-03-03 13:58:25 · 340 阅读 · 0 评论 -
Strange Towers of Hanoi(POJ1958)
题解:设d[n]是三塔问题的解,f[n]是4塔的解,那么可以推导出,f[n]=min(2*f[i]+d[n-i]),1<=i<n; #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=21; ll d[maxn],f[maxn]; int main(){ int...原创 2019-03-03 14:06:03 · 111 阅读 · 0 评论 -
ACM学习记录--递推与递归
一、递推与递归的简单应用 1、多项式型枚举: 一般遍历方式:循环(for)、递推。 状态空间规模:nk,几重循环k就是几。 此种枚举十分的常见。 2、指数型枚举: 一般遍历方式:递归、位运算。 状态空间规模:kn。 例如:从1~n(n&lt;20)个整数中随机选取任意个,输出所有可能的方案。 #include&lt;iostream&gt; #include&lt;vector&gt; usin...原创 2019-03-03 21:20:51 · 184 阅读 · 0 评论