Description

给定n(N<=100),编程计算有多少个不同的n轮状病毒。

Input

第一行有1个正整数n。

Output

将编程计算出的不同的n轮状病毒数输出

Sample Input

3

Sample Output

16

HINT

Source

Solution:推导不会,看不懂,知道了公式f[i]=f[i-1]*3-f[i-2]+2;要加高精度然后水过,可以打表找规律,不太会打。。。找规律,VFK的推导清晰全过程

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 struct data{int a[101],len;}f[101];
 5 int n;
 6 data gjc(data a,int k)
 7 {
 8     for (int i=1;i<=a.len;i++)    a.a[i]*=k;
 9     for (int i=1;i<=a.len;i++)
10     {
11         a.a[i+1]+=a.a[i]/10;
12         a.a[i]%=10;
13     }
14     if (a.a[a.len+1]!=0)    a.len++;
15     return a;
16 }
17
18 data gjj(data a,data b)
19 {
20     a.a[1]+=2;
21     int j=1;
22     while (a.a[j]>=10)
23     {
24         a.a[j]%=10;
25         a.a[j+1]++;
26         j++;
27     }
28     if (a.a[a.len+1]!=0) a.len++;
29     for (int i=1;i<=a.len;i++)
30     {
31         a.a[i]-=b.a[i];
32         if (a.a[i]<0) {a.a[i]+=10;    a.a[i+1]--;}
33     }
34     while (a.a[a.len]==0)    a.len--;
35     return a;
36 }
37
38 int main()
39 {
40     scanf("%d",&n);
41     f[1].a[1]=1;f[2].a[1]=5;
42     f[1].len=f[2].len=1;
43     for (int i=3;i<=n;i++)
44         f[i]=gjj(gjc(f[i-1],3),f[i-2]);
45     for (int i=f[n].len;i>0;i--)
46         printf("%d",f[n].a[i]);
47     return 0;
48 }

View Code

转载于:https://www.cnblogs.com/DMoon/p/5247765.html

【BZOJ1002】[FJOI2007]轮状病毒 递推+高精度相关推荐

  1. BZOJ1002 FJOI2007 轮状病毒 【基尔霍夫矩阵+高精度】

    BZOJ1002 FJOI2007 轮状病毒 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原 ...

  2. 洛谷P2144 bzoj1002 [FJOI2007]轮状病毒 (高精度板子)

    P2144 [FJOI2007]轮状病毒 题目描述 轮状病毒有很多变种.许多轮状病毒都是由一个轮状基产生.一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成.2个原子之间的边表示这2个原子之间 ...

  3. Bzoj1002 [FJOI2007]轮状病毒

    Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 5165  Solved: 2808 Description 轮状病毒有很多变种,所有轮状病毒的变种都是 ...

  4. POJ9273:PKU2506Tiling_递推+高精度

    总时间限制: 2000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB 描述 对于一个2行N列的走道.现在用12,22的砖去铺满.问有多少种不同的方式. 下图是一个2行17列的走 ...

  5. BZOJ1002 [FJOI2007]轮状病毒(最小生成树计数)

    Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 7125  Solved: 3878 [Submit][Status][Discuss] Descrip ...

  6. 递推+高精度 UVA 10497 Sweet Child Makes Trouble(可爱的孩子惹麻烦)

    题目链接 题意: n个物品全部乱序排列(都不在原来的位置)的方案数. 思路: dp[i]表示i个物品都乱序排序的方案数,所以状态转移方程.考虑i-1个物品乱序,放入第i个物品一定要和i-1个的其中一个 ...

  7. 递推+高精度——蜜蜂路线(洛谷 P2437)

    题目选自洛谷P2437 思路和斐波那契一样,不过特判a[0][1]=0a[1[1]=1,a[2][1]=1,之后,a[i][j]=a[i-1][j]+a[i-2][j],这是主要公式,为什么开二维数组 ...

  8. 正睿OI补题(递归与递推,前缀和与差分)

    目录: P1255 数楼梯 P4552 [Poetize6] IncDec Sequence P2280 [HNOI2003]激光炸弹 P1350 车的放置 P1255 数楼梯 数楼梯 - 洛谷 递推 ...

  9. BZOJ-1002 轮状病毒 高精度加减+Kirchhoff矩阵数定理+递推

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3543 Solved: 1953 [Submit][Statu ...

最新文章

  1. 【CTF】实验吧 凯撒变异
  2. php 获得用户地址吗,php获得用户的真实IP地址_PHP教程
  3. web自动化测试之百度经验-HTTP层面的Web Service自动化测试
  4. python学习-装饰器(decorator)
  5. (转)千万别熬夜:身体器官晚上工作时间表一览
  6. MySQL nullif()函数
  7. 7 ida pro 网盘_IDA分析iOS网络协议
  8. 揭秘富人见不得光的第一桶金都是怎么来的
  9. matlab工具箱使用50hz低通滤波器设计 和FFT 变化截取50hz工频信号幅值
  10. MSDN 访谈录(MSDN Show)C#编程
  11. 人工智能系统的形式化验证技术研究进展与趋势
  12. winform给textBox控件设置默认值
  13. 入门注解@DependsOn
  14. 最详细的vs2015使用教程(有图)
  15. 计算机发展历程 思维导图
  16. 马化腾:创建生物型组织,让企业组织自我进化
  17. git commit --amend撤销方法
  18. 【横向移动】内网渗透之内网信息收集
  19. MySQL数据误删恢复
  20. 名帖298 王铎 行书《罗汉跋》

热门文章

  1. python素描效果_python实现图片素描效果
  2. 【WebRTC---序篇】(二)Windows平台WebRTC源码编译
  3. 从前有座山,山里有座庙:递归之法
  4. 层 数据仓库_小尝试:基于指标体系的数据仓库搭建和数据可视化
  5. c语言中prime的作用,C语言判断素数prime
  6. cepl进程 Linux,Ubuntu下NS2-2.33安装过程
  7. wxpython界面切换_wxpython实现按钮切换界面的方法
  8. python mysql操作_Python的MySQL操作
  9. android 字符串 转公式,java – 在android中将字符串转换为bigdecimal
  10. java bean id_在 JSP中使用JavaBean的标签是 ,其中 id的用途是 __________________学小易找答案...