bzoj1002: [FJOI2007]轮状病毒(基尔霍夫矩阵)
1002: [FJOI2007]轮状病毒
题目:传送门
题解:
决定开始板刷的第一题...
看到这题的时候想:这不就是求有多少种最小生成树的方式吗?
不会啊!!!%题解。。。
什么鬼?基尔霍夫矩阵????OTZ...
什么叫基尔霍夫矩阵就自己去学吧,博主太菜也不会啊...
总之答案就是递归出来的:F(n)=3*F(n-1)-F(n-2)+2
在码个高精度就莫名其妙的A了...真的是毒瘤...
代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
struct node
{
int a[],len;
}f[];
node chengfa(node x,int k)
{
for(int i=;i<=x.len;i++)x.a[i]*=k;
for(int i=;i<=x.len;i++)
{
x.a[i+]+=x.a[i]/;
x.a[i]%=;
}
while(x.a[x.len+]!=)x.len++;
return x;
}
node jianfa(node x,node y)
{
x.a[]+=;
int j=;while(x.a[j]>=){x.a[j]%=;x.a[++j]++;}
for(int i=;i<=x.len;i++)
{
x.a[i]-=y.a[i];
if(x.a[i]<)
{
x.a[i]+=;
x.a[i+]--;
}
}
while(x.a[x.len]==)x.len--;
return x;
}
int n;
int main()
{
f[].a[]=;f[].a[]=;
f[].len=f[].len=;
scanf("%d",&n);
for(int i=;i<=n;i++)f[i]=jianfa(chengfa(f[i-],),f[i-]);
for(int i=f[n].len;i>=;i--)printf("%d",f[n].a[i]);
return ;
}
bzoj1002: [FJOI2007]轮状病毒(基尔霍夫矩阵)的更多相关文章
- [bzoj1002] [FJOI2007]轮状病毒轮状病毒(基尔霍夫矩阵)
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子 和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下 ...
- BZOJ 1002 - 轮状病毒 - [基尔霍夫矩阵(待补)+高精度]
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1002 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生 ...
- BZOJ1002 FJOI2007 轮状病毒 【基尔霍夫矩阵+高精度】
BZOJ1002 FJOI2007 轮状病毒 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原 ...
- 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: 5577 Solved: 3031[Submit][Statu ...
- bzoj1002 轮状病毒 暴力打标找规律/基尔霍夫矩阵+高斯消元
基本思路: 1.先观察规律,写写画画未果 2.写程序暴力打表找规律,找出规律 1-15的答案:1 5 16 45 121 320 841 2205 5776 151 ...
- 【BZOJ】1002:轮状病毒(基尔霍夫矩阵【附公式推导】或打表)
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图 ...
- BZOJ 4031 HEOI2015 小Z的房间 基尔霍夫矩阵+行列式+高斯消元 (附带行列式小结)
原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4031 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可 ...
- bzoj 1002 找规律(基尔霍夫矩阵)
网上说的是什么基尔霍夫矩阵,没学过这个,打个表找下规律,发现 w[i]=3*w[i-1]-w[i-2]+2; 然后写个高精直接递推就行了 //By BLADEVIL var n :longint; a ...
随机推荐
- CodeForces 362E Petya and Pipes
Petya and Pipes Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForces. ...
- ASP.NET-常用插件集合
001.输入表单验证插件FluentValidation ( 这个组建可以直接验证实体类,达到和验证model相同的效果,如果类很少可以直接使用这个省去model) https://github.co ...
- javascript-datatable错误提示
datatables插件在使用的时候出现了如下错误提示**出现此错误的原因可能是你写的table中没有加上<thead>和<tbody>标签所致** 来自为知笔记(Wi ...
- 【转载】黑客内核:编写属于你的第一个Linux内核模块
黑客内核:编写属于你的第一个Linux内核模块
- 2.windows下安装git
转自:https://blog.csdn.net/lvkelly/article/details/54666868
- http请求post,返回excel文件,并接收
1.post的方法里要加responseType: 'arraybuffer'参数,不然下载的excel会乱码 2.使用{type: "application/vnd.ms-excel&qu ...
- Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容
虽然是全英文的课程,这次总结内容不用英文了. 一般在计算机原理中,对两个操作数进行运算会使用C作为进位的标志位,而V作为溢出的标志位. 一般我们学完计算机原理,都知道正数的原码反码补码都一样,而问题都 ...
- QT笔记 -- (2) 文件相关操作、中文路径乱码
1.显示文件对话框,选择一个目录,显示选中目录中的所有图片的代码如下 主要class: QFileDialog QStringList QFileInfoList QDir void open(){ ...
- js指定区域全屏
<html> <head> <title>js指定区域全屏</title> <style> ...
- LRU算法与LRUCache
关于LRU LRU(Least recently used,最近最少使用)算法是操作系统中一种经典的页面置换算法,当发生缺页中断时,需要将内存的一个或几个页面置换出,LRU指出应该将内存最近最少使用的 ...