题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1002

看 Zinn 的博客:https://www.cnblogs.com/Zinn/p/9252831.html

时隔六个月,自己终于也 A 了这道题。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define db double
using namespace std;
const int N=;
int n;db a[N][N];
db get()
{
db ret=;
for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
if(fabs(a[j][i])>fabs(a[i][i]))
{
for(int t=i;t<=n;t++)swap(a[i][t],a[j][t]);
}
if(!a[i][i])return ;
for(int j=i+;j<=n;j++)
{
db sl=a[j][i]/a[i][i];
for(int t=i;t<=n;t++)a[j][t]-=sl*a[i][t];
}
ret*=a[i][i];
}
return ret;
}
int main()
{
int lm;scanf("%d",&lm);
for(n=;n<=lm;n++)
{
for(int i=;i<=n;i++)for(int j=;j<=n;j++)a[i][j]=;
for(int i=;i<=n;i++)
{
a[i][i]+=;
i==?a[i][n]-=:a[i][i-]-=;
i==n?a[i][]-=:a[i][i+]-=;
a[i][n+]-=;a[n+][i]-=;
}
a[n+][n+]+=n;
printf("%.0f ",get());
}
puts("");
return ;
}

打表

精度误差真的很大。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,base=1e8;
int n,a[N][N];
void mul(int *a,int *ret,int b)
{
ret[]=a[];
for(int i=;i<=a[];i++)
ret[i]=a[i]*b;
for(int i=;i<=ret[];i++)
ret[i+]+=ret[i]/base,ret[i]%=base;
while(ret[ret[]+])ret[]++,ret[ret[]+]+=ret[ret[]]/base,ret[ret[]]%=base;
}
void dec(int *a,int *b)
{
for(int i=;i<=a[];i++)
{
a[i]-=b[i];
if(a[i]<)a[i]+=base,a[i+]--;
}
while(a[]&&!a[a[]])a[]--;
}
void add(int *a,int b)
{
a[]+=b;
for(int i=;i<=a[]&&a[i]>=base;i++)
a[i+]++,a[i]-=base;
if(a[a[]+])a[]++;
}
void print(int *a)
{
printf("%d",a[a[]]);
for(int i=a[]-;i;i--)printf("%08d",a[i]);puts("");
}
int main()
{
scanf("%d",&n);
if(n<=){puts("");return ;}
a[][]=;a[][]=;a[][]=;a[][]=;
if(n<=){printf("%d\n",a[n][]);return ;}
for(int i=;i<=n;i++)
{
mul(a[i-],a[i],);
dec(a[i],a[i-]);add(a[i],);
}
print(a[n]);return ;
}

bzoj 1002 [FJOI2007]轮状病毒——打表找规律的更多相关文章

  1. [FJOI2007]轮状病毒 题解(dp(找规律)+高精度)

    [FJOI2007]轮状病毒 题解(dp(找规律)+高精度) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1335733 没什么好说的,直接把规律找出来,有 ...

  2. bzoj 1002 [FJOI2007]轮状病毒 高精度&&找规律&&基尔霍夫矩阵

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2234  Solved: 1227[Submit][Statu ...

  3. 生成树的计数(基尔霍夫矩阵):BZOJ 1002 [FJOI2007]轮状病毒

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3928  Solved: 2154[Submit][Statu ...

  4. BZOJ 1002 [FJOI2007]轮状病毒

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3106  Solved: 1724[Submit][Statu ...

  5. BZOJ 1002: [FJOI2007]轮状病毒【生成树的计数与基尔霍夫矩阵简单讲解+高精度】

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5577  Solved: 3031[Submit][Statu ...

  6. BZOJ 1002 FJOI2007 轮状病毒 递推+高精度

    题目大意:轮状病毒基定义如图.求有多少n轮状病毒 这个递推实在是不会--所以我选择了打表找规律 首先执行下面程序 #include<cstdio> #include<cstring& ...

  7. 【刷题】BZOJ 1002 [FJOI2007]轮状病毒

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

  8. 【BZOJ】1002: [FJOI2007]轮状病毒 递推+高精度

    1002: [FJOI2007]轮状病毒 Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同 ...

  9. 1002: [FJOI2007]轮状病毒

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2609  Solved: 1450[Submit][Statu ...

随机推荐

  1. 前端学习笔记之CSS介绍

    阅读目录 一 什么是CSS 二 为何要用CSS 三 如何使用CSS 一 什么是CSS CSS全称Cascading Style Sheet层叠样式表,是专用用来为HTML标签添加样式的. 样式指的是H ...

  2. 20145221 《Java程序设计》第八周学习总结

    20145221 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章部分 - 通用API 通用API 日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 日 ...

  3. MySQL 学习笔记整理

    1.      创建表 CREATE TABLE item( ID INT(6) NOT NULL AUTO_INCREMENT, Name CHAR(32) NOT NULL, Price DECI ...

  4. Spring ApplicationListener使用方法及二次调用问题解决

    使用场景 在一些业务场景中,当容器初始化完成之后,需要处理一些操作,比如一些数据的加载.初始化缓存.特定任务的注册等等.这个时候我们就可以使用Spring提供的ApplicationListener来 ...

  5. 【测试设计】性能测试工具选择:wrk?jmeter?locust?还是LR?

    原文链接:http://www.51testing.com/html/49/n-3721249.html 前言 当你想做性能测试的时候,你会选择什么样的测试工具呢?是会选择wrk?jmeter?loc ...

  6. wpf 中关于Image中样式Style的一点总结

    第一种写法: (1):定义样式 <Style x:Key="imgStyle" TargetType="Image">  : <!-- Tar ...

  7. ablout unbuntu default mysql

    http://www.ghostchina.com/how-to-reset-mysqls-root-password/ http://blog.csdn.net/u010603691/article ...

  8. API To Import Negotiations(转)

    原文地址 API To Import Negotiations

  9. MarkdownPad2 在 Windows10 下 预览无法显示

    Windows10下面一直报错,无法使用. 解决方法: 安装 Awesomium 1.6.6 SDK,如果还是有问题,请继续安装:Microsoft's DirectX End-User Runtim ...

  10. 16款最受关注的智能手表 苹果iWatch领衔

    智能手表逐渐成为科技行业的新宠,而传闻中的苹果iWatch以及已经确认即将推出的三星Galaxy Gear,显然让这股热潮达到了顶峰,也预示着大牌厂商将逐渐进入该领域,推出更多成熟的产品.以下便是16 ...