• Bzoj1002 [FJOI2007]轮状病毒


    Time Limit: 1 Sec  Memory Limit: 162 MB
    Submit: 5165  Solved: 2808

    Description

      轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子
    和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示

      N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不
    同的3轮状病毒,如下图所示

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

    Input

      第一行有1个正整数n

    Output

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

    Sample Input

    3

    Sample Output

    16

    HINT

     

    Source

    数学问题 递推 脑洞题 高精度

    标解好像是用基尔霍夫矩阵打表以后找规律递推,考点是看规律和写高精度。

    得出的递推式是f[i]=$3*f[i-1]-f[i-2]+2$

    但是也可以用行列式花式推导出这式子。%%%vfk dalao

    ->(等找到链接补一发)

    不想写高精度啊……找份py代码混过去吧……

    py原来不需要加分号的嘛……加了分号还wa了一发。

    1 n=int(raw_input())  
    2 f=[0]*105 
    3 f[1]=1 
    4 for i in range(2,101):  
    5     f[i]=3*f[i-1]-f[i-2]+2 
    6 print(f[n])  
  • 相关阅读:
    Hamming Distance
    变量
    Jupyter Notebook 快捷键使用指南
    XPath使用总结
    selenium调用webdriver异常
    漏洞挖掘 | 远程WWW服务支持TRACE请求
    漏洞挖掘 | 点击劫持
    漏洞挖掘 | 目录浏览漏洞
    漏洞挖掘 | 弱口令漏洞
    浅谈Linux下/etc/passwd文件
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/6697079.html
Copyright © 2020-2023  润新知