ACM_递推
文章平均质量分 52
_天道酬勤_不忘初心
这个作者很懒,什么都没留下…
展开
-
HDU 1143 Tri Tiling
题目地址:点击打开链接 思路:参考别人的 转,如果n为奇数,必然无解。 当n为偶数时,一个比较直观的思路就是把大矩形用竖线切出左边一部分,然后递归求解,就像UVA_10359那样,直接考虑最左边一个小矩形是如何构成的我们就可以递归得到f(n)递推式。 虽然这个题目乍看上去小矩形似乎拼法比较多,而且要拼出一个不能再用竖线切分的小矩形似乎拼的方法也并不直观。但如果我们在纸上多画原创 2015-08-13 08:52:29 · 359 阅读 · 0 评论 -
HDU 1396 Counting Triangles
题目地址:点击打开链接 思路:上一层的加上新增的正的三角形,再加上倒的三角形,求正的三角形公式为(n+1)*n/2,这个解释的特别好,点击打开链接,而至于求倒着的三角形的公式如下,n是奇数,(n*n-1)/4,由1+2+....+(n-1)/2+(n-1)/2+...2+1,每个数字代表最下面一条线除2个端点处的点所包含的倒三角形,n是偶数,同理,1+2+...+n/2+..+2+1,和为n*n原创 2015-07-24 15:53:41 · 387 阅读 · 0 评论 -
HDU 2047 阿牛的EOF牛肉串
题目地址:点击打开链接 思路:f(n) =2*f(n-1)+2*f(n-2),最后一个放的不是o+最后一个放的是o AC代码: #include using namespace std; int main() { int i,n; long long a[40] = {0,3,8}; for(i=3; i<40; i++) { a[i]原创 2015-07-24 10:59:09 · 380 阅读 · 0 评论 -
HDU 2018 母牛的故事
题目地址:点击打开链接 思路:做该题时要发现它的规律,题n年牛的总数等于n-1年的母牛数加上第你年新增的母牛数,第你年只有n-3年的那些母牛才能产母牛,所以第n年的母牛数等于第n-1和n-3年的母牛数的和,即sum(n)=sum(n-1)+sum(n-3),可用递归来做#include using namespace std; int main() { int i,n; l原创 2015-07-24 10:11:10 · 287 阅读 · 0 评论 -
杭电校赛(ACM组队安排)
ACM组队安排 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1039 Accepted Submission(s): 502 Problem Description ACM亚洲区比赛结束,意味着开始备战明年的原创 2015-12-03 10:58:18 · 991 阅读 · 0 评论 -
HDU 2709 Sumsets
题目地址:点击打开链接 思路:参考大神的,地址:点击打开链接 AC代码: #include #include #include using namespace std; long long a[1000010]; int main() { int i,n; a[1] = 1; a[2] = 2; for(i=3; i<=1000000; i++)原创 2015-08-18 15:25:40 · 344 阅读 · 0 评论 -
HDU 5366 The mook jong
题目地址:点击打开链接 思路:a[i] = a[i-1] + a[i-3] + 1 上一个阶段的各种组合+新增的一个能和离他2个格子的各种组合再组成一个新组合+只种新增的这一格 AC代码: #include #include using namespace std; int main() { __int64 n,a[61],i; a[1] = 1; a[2]原创 2015-08-21 18:39:14 · 325 阅读 · 0 评论 -
HDU 2041 超级楼梯
题目地址:点击打开链接 思路:水题 AC代码: #include using namespace std; int main() { int i,n,b; int a[41] = {0,1,1}; for(i=3; i<=40; i++) { a[i] = a[i-1] + a[i-2]; } cin>>n; wh原创 2015-07-24 10:19:04 · 305 阅读 · 0 评论 -
HDU 2044 一只小蜜蜂...
题目地址:点击打开链接 思路:水题,和上楼梯一个道理#include using namespace std; int main() { long long a[50] = {0,1,2}; int n,x,y,i; for(i=3; i<50; i++) { a[i] = a[i-1] + a[i-2]; } cin>>n;原创 2015-07-24 10:27:56 · 326 阅读 · 0 评论 -
HDU 2042 不容易系列之二
题目地址:点击打开链接 思路:水题 AC代码: #include using namespace std; int f(int x) { if(x == 0) return 3; return (f(x - 1) - 1) * 2; } int main() { int n,a; cin>>n; while(n--) {原创 2015-07-23 22:40:31 · 382 阅读 · 0 评论 -
HDU 2045 不容易系列之(3)—— LELE的RPG难题
题目地址:点击打开链接 思路:先初始n=1,2,3的情况,然后我们假设长度为n的序列,倒数第二个与第一个相同,则此时的情况有f[n-2]*2钟可能,因为倒数第二与第一相同,故最后一个有两种情况。设倒数第二个与第一个不同,则此时情况为f[n-1]*1,因为此时最后一个只能取一种可能 AC代码: #include using namespace std; int main() {原创 2015-07-23 21:14:59 · 298 阅读 · 0 评论 -
HDU 2046 骨牌铺方格
题目地址:点击打开链接 思路:第N张牌的排列可以又N-1张牌的排列再在末尾加上一张竖的牌。这样依然合法。也可以在N-2张合法排列的牌后面加上两张横着放的牌(如果竖着放就和上面一种重复了)。用__int64类型 AC代码: #include using namespace std; int main() { int i,n; __int64 a[51] = {0,1,2}原创 2015-07-23 17:52:51 · 303 阅读 · 0 评论 -
HDU 2013 蟠桃记
题目地址:点击打开链接 思路:水题 AC代码: #include using namespace std; int f(int x) { if(x == 1) return 1; return (f(x-1)+1)*2; } int main() { int n; while(cin>>n) { cout<<f(n原创 2015-07-23 17:23:45 · 343 阅读 · 0 评论 -
POJ 2440 DNA(递推)
题目地址:http://poj.org/problem?id=2440 思路:先暴力打数据,再递推,循环节为200 AC代码: #include #include #include #include #include #include #include #include #include #include #include const int inf = 0x3f3f3原创 2016-05-31 18:37:40 · 405 阅读 · 0 评论