Problem B 2016"百度之星" - 资格赛(Astar Round1)
Posted 甄情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Problem B 2016"百度之星" - 资格赛(Astar Round1)相关的知识,希望对你有一定的参考价值。
Problem B
Accepts: 2037
Submissions: 7572
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
看到这种题 只有两种想法 DP 递推。。
仔细观察菲波那切数列 至于怎么观察的
如果当前有n个1 我们应该怎么得到f[n]呢
我们可以认为有(n-1)个1后面再添加一个1得到 这个时候又分两种情况了
1.不使用我们添加的这个1 总个数f[n-1]
2.使用我们添加的这个1 总个数f[n-2]
如果说错了 请告诉我。。。
又因为N很大 (long long 好像存50多吧) 所以有两个选择 1 java大数 2.c模拟加法
我用的1
AC代码:
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); BigInteger f []=new BigInteger[205]; f[1]=new BigInteger("1"); f[2]=new BigInteger("2"); for(int i=3;i<=200;i++){ f[i]=f[i-2].add(f[i-1]); } while(sc.hasNext()){ int n=sc.nextInt(); System.out.println(f[n]); } } }
以上是关于Problem B 2016"百度之星" - 资格赛(Astar Round1)的主要内容,如果未能解决你的问题,请参考以下文章
Problem A(逆元) 2016"百度之星" - 资格赛(Astar Round1)
hdu 5685 Problem A(2016"百度之星" - 资格赛(Astar Round1)——线段树)
[HDU5687]2016"百度之星" - 资格赛 Problem C
[HDU5688]2016"百度之星" - 资格赛 Problem D