bzoj 1002 [FJOI2007]轮状病毒——打表找规律
题目: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]轮状病毒——打表找规律的更多相关文章
- [FJOI2007]轮状病毒 题解(dp(找规律)+高精度)
[FJOI2007]轮状病毒 题解(dp(找规律)+高精度) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1335733 没什么好说的,直接把规律找出来,有 ...
- bzoj 1002 [FJOI2007]轮状病毒 高精度&&找规律&&基尔霍夫矩阵
1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2234 Solved: 1227[Submit][Statu ...
- 生成树的计数(基尔霍夫矩阵):BZOJ 1002 [FJOI2007]轮状病毒
1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3928 Solved: 2154[Submit][Statu ...
- BZOJ 1002 [FJOI2007]轮状病毒
1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3106 Solved: 1724[Submit][Statu ...
- BZOJ 1002: [FJOI2007]轮状病毒【生成树的计数与基尔霍夫矩阵简单讲解+高精度】
1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5577 Solved: 3031[Submit][Statu ...
- BZOJ 1002 FJOI2007 轮状病毒 递推+高精度
题目大意:轮状病毒基定义如图.求有多少n轮状病毒 这个递推实在是不会--所以我选择了打表找规律 首先执行下面程序 #include<cstdio> #include<cstring& ...
- 【刷题】BZOJ 1002 [FJOI2007]轮状病毒
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子 和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下 ...
- 【BZOJ】1002: [FJOI2007]轮状病毒 递推+高精度
1002: [FJOI2007]轮状病毒 Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同 ...
- 1002: [FJOI2007]轮状病毒
1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2609 Solved: 1450[Submit][Statu ...
随机推荐
- linux下如何使用split
答: 切割文件hello,以每个文件最大10MiB来切割,切割好的文件名前缀为hello.,后缀为二位的数字,切割之后的名字为hello.01,hello.02等等 split -b 10M - ...
- POJ 2253 Frogger(最短路&Floyd)题解
题意:想给你公青蛙位置,再给你母青蛙位置,然后给你剩余位置,问你怎么走,公青蛙全力跳的的最远距离最小. 思路:这里不是求最短路径,而是要你找一条路,青蛙走这条路时,对他跳远要求最低.这个思想还是挺好迁 ...
- HDU 2544 最短路(最短路&Floyd)题解
思路:Floyd模板题,注意一下Floyd核心的三个循环,顺序不要变,我们不能把k放在最内层.因为Floyd是通过不断遍历查找是否有更小的两个路径拼起来能比当前小,如果k在最内层,那么我们就会提前算好 ...
- 【Java----判断字符串是否为有效的日期格式】
public static boolean isValidDate(String str) { boolean convertSuccess=true; // 指定日期格式为四位年/两位月份/两位日期 ...
- Android移动软件开发总结
目录 Android实验参考目录 常用知识点总结 服务绑定bind Service ThreadService使用总结 Service用法总结 Broadcast Receiver用法 Intent使 ...
- bzoj 2818 gcd 线性欧拉函数
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 给定整数N,求1< ...
- php 添加时间戳
<?php $tomorrow = mktime(,,,date(,date("Y")); echo "Tomorrow is ".date(" ...
- 【安全测试】Web应用安全之XSS跨站脚本攻击漏洞
前言 以前都只是在各类文档中见到过XSS,也进行过相关的学习,但是都是一知半解,过了一段时间就忘了. 前几天我们收到了了一份标题为<XX账号昵称参数中存在存储XSS漏洞>的报告文档,来源是 ...
- npm package.json中的dependencies和devDependencies的区别
转载:http://www.cnblogs.com/jes_shaw/p/4497836.html 一个node package有两种依赖,一种是dependencies一种是devDependenc ...
- [图床神器]Windows下的图片上传工具MPic
最近用hexo在github上搭建了一个静态博客,开始几天用起来感觉还挺好的,但是用了些天就觉得每次写文章插入图片就非常麻烦,而且如果图片多了的话上传和访问就很慢了.后来网上看了下发现mac下有款ip ...