HDU 1267 下沙的沙子有几粒?
来源:互联网 发布:免费的淘宝店铺模板 编辑:程序博客网 时间:2024/05/01 22:57
下沙的沙子有几粒?
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
2005年11月份,我们学校参加了ACM/ICPC 亚洲赛区成都站的比赛,在这里,我们获得了历史性的突破,尽管只是一枚铜牌,但获奖那一刻的激动,也许将永远铭刻在我们几个人的心头。借此机会,特向去年为参加ACM亚洲赛而艰苦集训了近半年的各位老队员表示感谢。
实际上,除了获奖以外,在这次比赛期间还有一件事也让我们记忆深刻。那是比赛当天等待入场的时候,听到某个学校的一个队员在说:“有个学校的英文名很有意思,叫什么Hangzhou Dianzi University”. 哈哈,看来我们学校的英文名起的非常好,非常吸引人呀。
不过,事情的发展谁也没有料到,随着杭电英文校名的这一次曝光,影响越来越大,很多人开始对杭电英文校名进行研究,不久以后甚至还成立了一个专门的研究机构,叫做“HDU 校名研究会”。并不断有报道说-相-当-多的知名科学家改行,专门对该问题进行研究,学术界称之为“杭电现象”。很多人在国际知名期刊上发表了研究论文,这其中,尤以中国超级女科学家宇春小姐写的一篇研究报告最为著名,报告发表在science上,标题是“杭电为什么这样红?” 文中研究发现:Hangzhou Dianzi University这个校名具有深刻的哲学思想和内涵,她同时提出了一个大胆的猜想:“假定一个字符串由m个H和n个D组成,从左到右扫描该串,如果字符H的累计数总是不小于字符D的累计数,那么,满足条件的字符串总数就恰好和下沙的沙粒一样多。”
这就是当今著名的“宇春猜想”!
虽然还没能从数学上证明这个猜想的正确性,但据说美国方面在小布什的亲自干预下,已经用超级计算机验证了在(1<=n<=m<=1000000000000)时都是正确的。my god! 这是一个多么伟大的猜想!虽然我们以前总说,21世纪是属于中国的,可还是没想这一天来的这么早,自豪ing... + 感动ing...
感动和自豪之余,问题也来了,如果已知m和n的值,请计算下沙的沙粒到底有多少。
Ps:
1. 中国有关方面正在积极行动,着手为宇春小姐申报诺贝尔奖。
2、“宇春猜想”中提到的H和D组成的字符串现在被学术界成为“杭电串串”(“杭电串串”前不久被一个卖羊肉串的注册了商标,现在我校正在积极联系买断,据说卖方的底价是1000万欧元,绝不打折,看来希望不大,sigh...)
实际上,除了获奖以外,在这次比赛期间还有一件事也让我们记忆深刻。那是比赛当天等待入场的时候,听到某个学校的一个队员在说:“有个学校的英文名很有意思,叫什么Hangzhou Dianzi University”. 哈哈,看来我们学校的英文名起的非常好,非常吸引人呀。
不过,事情的发展谁也没有料到,随着杭电英文校名的这一次曝光,影响越来越大,很多人开始对杭电英文校名进行研究,不久以后甚至还成立了一个专门的研究机构,叫做“HDU 校名研究会”。并不断有报道说-相-当-多的知名科学家改行,专门对该问题进行研究,学术界称之为“杭电现象”。很多人在国际知名期刊上发表了研究论文,这其中,尤以中国超级女科学家宇春小姐写的一篇研究报告最为著名,报告发表在science上,标题是“杭电为什么这样红?” 文中研究发现:Hangzhou Dianzi University这个校名具有深刻的哲学思想和内涵,她同时提出了一个大胆的猜想:“假定一个字符串由m个H和n个D组成,从左到右扫描该串,如果字符H的累计数总是不小于字符D的累计数,那么,满足条件的字符串总数就恰好和下沙的沙粒一样多。”
这就是当今著名的“宇春猜想”!
虽然还没能从数学上证明这个猜想的正确性,但据说美国方面在小布什的亲自干预下,已经用超级计算机验证了在(1<=n<=m<=1000000000000)时都是正确的。my god! 这是一个多么伟大的猜想!虽然我们以前总说,21世纪是属于中国的,可还是没想这一天来的这么早,自豪ing... + 感动ing...
感动和自豪之余,问题也来了,如果已知m和n的值,请计算下沙的沙粒到底有多少。
Ps:
1. 中国有关方面正在积极行动,着手为宇春小姐申报诺贝尔奖。
2、“宇春猜想”中提到的H和D组成的字符串现在被学术界成为“杭电串串”(“杭电串串”前不久被一个卖羊肉串的注册了商标,现在我校正在积极联系买断,据说卖方的底价是1000万欧元,绝不打折,看来希望不大,sigh...)
Input
输入数据包含多个测试实例,每个占一行,由两个整数m和n组成,m和 n 分别表示字符串中H和D的个数。由于我们目前所使用的微机和老美的超级计算机没法比,所以题目给定的数据范围是(1<=n<=m<=20)。
Output
对于每个测试实例,请输出下沙的沙粒到底有多少,计算规则请参考“宇春猜想”,每个实例的输出占一行。
Sample Input
1 13 1
Sample Output
13
解析:
这是一道动态规划,目标是求出符合条件的字串种数。
根据题目输入的是 H 和 D 的个数,用a [ i ] [ j ]代表有i个 H 和j个 D 的序列的种数。考虑最后一个字母是 H 还是 D 的情况,最后一个字母是 D 的情况的序列种数是a [ i ][ j-1 ],最后一个字母是 H 的情况的序列种数是a [ i-1 ][ j ]。
则 :a
[ i ][ j ] = a [ i-1 ][ j ] + a [ i ][ j-1 ];
AC代码:
#include <iostream>#include <cstring>using namespace std;int main(){ long long dp[25][25]; memset(dp,0,sizeof(dp)); for(int i=1;i<21;i++) dp[i][0]=1; for(int i=1;i<=20;i++) for(int j=1;j<=i;j++) dp[i][j]=dp[i][j-1]+dp[i-1][j]; int m,n; while(cin>>m>>n) { cout<<dp[m][n]<<endl; }return 0;}
- hdu 1267 下沙的沙子有几粒?
- HDU 1267 下沙的沙子有几粒?
- HDU 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- HDU 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- hdu-1267下沙的沙子有几粒?
- HDU(1267)-下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒?
- HDU-1267 下沙的沙子有几粒?
- HDU 1267 下沙的沙子有几粒?
- HDU 1267 下沙的沙子有几粒?
- HDU 1267 下沙的沙子有几粒?
- hdu 1267 下沙的沙子有几粒
- 基于HTML5的汽车中间件
- android断点调试
- windows下强大的wmic命令行工具
- PJSIP:没有声卡实现多路会话放音
- 禁用DW20.exe
- HDU 1267 下沙的沙子有几粒?
- Google Play和基于功能的过滤---硬件功能参考
- 输入4字节整数,输出IPv4地址
- php网址
- SQLite运行在WinRT, Metro以及Windows 8移动版
- SAP 新总帐的表结构变化
- Linux下查询本机的出口IP
- 函数指针
- Linux(Centos) 加硬盘,分区和设置自动挂载