URAL 1017. Staircases

2024-08-21 08:18
文章标签 1017 ural staircases

本文主要是介绍URAL 1017. Staircases,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!




这题,写出递推式就过了。用数组zrt[x][n]表示 x个方块在宽度为n的情况下的种类数。

递推式:枚举第一列的高度,然后每一列减去第一列的高度,问题就转化成了若干个zrt [ 剩下的方块数 ] [ n-1 ].

n=2时,有公式 zrt[x][2]=(x-1)/2; 然后再加上记忆化搜索就行了。

代码如下: 

long long zrt[501][32];
long long f(int x,int n){if(zrt[x][n]) return zrt[x][n];if(x<0) return 0;if(n==2) return (x-1)/2;long long ANS=0;for(int i=1;;i++){//枚举第一列的高度if(x-i*n<2) break;ANS+=f(x-i*n,n-1);}return zrt[x][n]=ANS;
}
long long F(int x){int high;high=0;while(x>(high+1)*(high+2)/2) high++;long long ANS=0;for(int i=2;i<=high;i++){//枚举x个方格的宽度ANS+=f(x,i);}return ANS;
}int main(void)
{long long N;while(cin>>N){memset(zrt,0,sizeof(zrt));long long ANS=F(N);cout<<ANS<<endl;}
return 0;
}



这篇关于URAL 1017. Staircases的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092616

相关文章

ural 1297. Palindrome dp

1297. Palindrome Time limit: 1.0 second Memory limit: 64 MB The “U.S. Robots” HQ has just received a rather alarming anonymous letter. It states that the agent from the competing «Robots Unli

ural 1149. Sinus Dances dfs

1149. Sinus Dances Time limit: 1.0 second Memory limit: 64 MB Let  An = sin(1–sin(2+sin(3–sin(4+…sin( n))…) Let  Sn = (…( A 1+ n) A 2+ n–1) A 3+…+2) An+1 For given  N print  SN Input One

ural 1820. Ural Steaks 贪心

1820. Ural Steaks Time limit: 0.5 second Memory limit: 64 MB After the personal contest, happy but hungry programmers dropped into the restaurant “Ural Steaks” and ordered  n specialty steaks

ural 1017. Staircases DP

1017. Staircases Time limit: 1.0 second Memory limit: 64 MB One curious child has a set of  N little bricks (5 ≤  N ≤ 500). From these bricks he builds different staircases. Staircase consist

ural 1026. Questions and Answers 查询

1026. Questions and Answers Time limit: 2.0 second Memory limit: 64 MB Background The database of the Pentagon contains a top-secret information. We don’t know what the information is — you

ural 1014. Product of Digits贪心

1014. Product of Digits Time limit: 1.0 second Memory limit: 64 MB Your task is to find the minimal positive integer number  Q so that the product of digits of  Q is exactly equal to  N. Inpu

后缀数组 - 求最长回文子串 + 模板题 --- ural 1297

1297. Palindrome Time Limit: 1.0 second Memory Limit: 16 MB The “U.S. Robots” HQ has just received a rather alarming anonymous letter. It states that the agent from the competing «Robots Unlim

【URAL】1057 Amount of Degrees 数位DP

传送门:【URAL】1057 Amount of Degrees 题目分析:将数转化成能达到的最大的01串,串上从右往左第i位为1表示该数包括B^i。 代码如下: #include <cstdio>#include <cstring>#include <algorithm>using namespace std ;typedef long long LL ;#de

贪心 —— POJ 1017 Packets

对应POJ题目:点击打开链接 Packets Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 46584 Accepted: 15752 Description A factory produces products packed in square packets of the same height

ural Minimal Coverage (区间覆盖)

http://acm.timus.ru/problem.aspx?space=1&num=1303 给出一些区间,选择尽量少的区间能覆盖到[0,m]。 小白p154,典型的区间覆盖问题。一直在想怎么dp。。 首先预处理,先按左端点从小到大排序,若左端点相同右端点从大到小排序,若区间x完全包含y,按照贪心的思想,y是没有意义的,有大区间可以选何必选择小区间。处理完事之后各个区间满足a1