E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ1002
[FJOJ2007][
bzoj1002
]轮状病毒(递推+高精度)
轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示现给定n(N#include#include#include#include#includeu
溡沭
·
2023-10-20 21:58
解题报告
bzoj1002
生成树计数
其实,就是求n个点的生成树的个数。下面就是如果求生成树的个数:Matrix-Tree定理(Kirchhoff矩阵-树定理)。Matrix-Tree定理是解决生成树计数问题最有力的武器之一。它首先于1847年被Kirchhoff证明。在介绍定理之前,我们首先明确几个概念:1、G的度数矩阵D[G]是一个n*n的矩阵,并且满足:当i≠j时,dij=0;当i=j时,dij等于vi的度数。2、G的邻接矩阵A
ThreeWater-
·
2020-09-16 19:51
生成树
bzoj1002
[FJOI2007]轮状病毒
题目传送门ly大神告诉我这是一道水题,然而看题看了半天愣是看不出咋做……于是无奈叹息,和神犇的差距已经这么大了么……谦虚地去问大神是啥算法,大神说:“这道题我是看题解的,其实我也不会……”果断泪奔……去看hzwer——真正的大牛的博客以后,终于找到了答案,这是基尔霍夫矩阵,用递归来实现。还没崇拜玩这让人那啥一阵的名字,也还没来的及去%论文,后边括号里那几个字就让我崩溃了:“我也不知道是什么”。这都
BLInBLud
·
2020-09-14 02:33
bzoj
递归
高精度
基尔霍夫矩阵
bzoj1002
[FJOI2007]轮状病毒 递推+高精度
题意比较简单就不说了。一开始我用组合数做,发现WA了。。并不知道为什么错,感觉应该是会算重。主要是用基尔霍夫矩阵推出一个结论,但是我发现n=1,n=2的时候怎么大家的答案都不太一样。结论就是f[i]=(f[i-1]*3-f[i-2]+2),注意要用高精度不然会爆。。#include#includeusingnamespacestd;structdata{inta[101],len;};intn;d
Transcendence_magia
·
2020-09-14 02:05
bzoj
数论
递推
高精度
BZOJ1002
: [FJOI2007]轮状病毒
1002:[FJOI2007]轮状病毒TimeLimit:1SecMemoryLimit:162MBDescription轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个
qazw2424
·
2020-09-14 02:46
算法
BZOJ1002
FJOI2007 轮状病毒 递推
题意:给定一个轮状结构(中间一个点,周围有N个点以环状围住这个点),从不相交的2*N-1条边中选N条边,使任意两点间有且只有一条联通路径。题解:请点这里。然而如果考场上考到直接打表找规律好了#include#include#include#include#includeusingnamespacestd;constintBASE=1000;constintMAXN=100+2;constintMA
a18700013354
·
2020-09-14 01:33
bzoj 1002 [FJOI2007]轮状病毒
bzoj1002
[FJOI2007]轮状病毒Description给定n(Nusingnamespacestd;intf[105][255],n,len[105];inlinevoidprint(intx
_YPC
·
2020-09-14 01:19
题解
bzoj1002
: [FJOI2007]轮状病毒(基尔霍夫矩阵)
1002:[FJOI2007]轮状病毒题目:传送门题解:决定开始板刷的第一题...看到这题的时候想:这不就是求有多少种最小生成树的方式吗?不会啊!!!%题解。。。什么鬼?基尔霍夫矩阵????OTZ...什么叫基尔霍夫矩阵就自己去学吧,博主太菜也不会啊...总之答案就是递归出来的:F(n)=3*F(n-1)-F(n-2)+2在码个高精度就莫名其妙的A了...真的是毒瘤...代码:1#include2
weixin_30686845
·
2020-08-18 04:04
BZOJ第一页刷题计划
BZOJ第一页刷题计划已完成:67/90【BZOJ1000】A+BProblem:A+B;【BZOJ1001】[BeiJing2006]狼抓兔子:最小割;【
BZOJ1002
】[FJOI2007]轮状病毒
weixin_34149796
·
2020-08-13 21:13
【
BZOJ1002
】生成树计数 拉普拉斯算子 递推
题目很好懂,在这里题意题意很简单,就是给一个图,算生成树的个数。写代码前:这题不就是生成树计数嘛,遂思考如何码。?生成树计数咋写啊是在kruskal上直接改计数吗?好像不太对啊。然后在草稿纸上画了画图,这好像是一个递推题啊?!遂推了一个假式子上去,因为我dp[1]画错了(在线丢人)然后重新分(xia)析(cai)了一波然后发现了BZOJ竟然不能用py交,遂改用Java,然后就过了。分析:生成树计数
ACgay_caoyue
·
2019-06-06 13:26
BZOJ
bzoj1002
[FJOI2007]轮状病毒(生成树计数)
Description轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示现给定n(Nusingnamespacestd;#definerep(i
1035719430
·
2019-01-26 21:44
矩阵树定理
BZOJ1002
FJOI2007 轮状病毒 【基尔霍夫矩阵+高精度】
BZOJ1002FJOI2007轮状病毒Description轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示现给定n(Nusingnames
Dream_Maker_yangkai
·
2018-07-12 16:48
c++
BZOJ
基尔霍夫矩阵
高精度
【FJOI2007/
BZOJ1002
】轮状病毒 找规律+高精度
原题走这里一看题……矩阵树定理秒杀……等等……我连行列式都不会求用什么矩阵树定理……于是就只能推式子了。让我们暂时先把环剖成链,于是问题就变成了一个类似整数剖分的形式:d[i]=∑j=1i−1d[j]∗(i−j)d[i]=∑j=1i−1d[j]∗(i−j)要乘上i−ji−j的原因在于每划分出一个大小为i−ji−j的联通块,中心点都可以向它的某一点连一条边。然而题目中是环,因此就需要考虑大小为ii的
CRTorlonia
·
2018-04-07 22:26
bzoj1002
[FJOI2007]轮状病毒(矩阵树定理+递推+高精度)
关于矩阵树定理,见论文:portal关于递推式推导,见:portal我们可以得到f[n]=3∗f[n−1]−f[n−2]+2,需要高精度。#include#include#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN110inlinechargc(){staticchar
Icefox_zhx
·
2018-03-18 23:24
bzoj
递推
高精度
计数
矩阵树定理
BZOJ1002
[FJOI2007]轮状病毒
AddressBZOJ1002洛谷P2144Solution考虑怎样构造一种方案。对于周围的nn个点组成的环,我们将其拆分成任意条链,并在每一条链上选择任意一个点向中心点连接一条边,这样显然就是一种合法方案。于是我们就可以用DP来计算方案数了。设f[i]f[i]表示拆分到第ii个点为止的方案数,则f[i]=∑j=1if[i−j]×jf[i]=∑j=1if[i−j]×j。即表示每次新确定一条长度为j
Log_x
·
2018-02-21 15:43
BZOJ
洛谷
[
bzoj1002
][FJOI2007]轮状病毒【高精度】【矩阵树定理】
【题目描述】Description轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示现给定n(N#definelllonglong#define
VanishD
·
2018-02-14 21:55
【矩阵树定理】
【高精度】
BZOJ1002
(FJOI2007)[轮状病毒]--找规律+高精度
【链接】
bzoj1002
【解题报告】慢慢找(kan)规(ti)律(jie)就可以得出这个公式fn=3∗fn−1−fn−2+2其中f1=1f2=5#include#include#includeusingnamespacestd
Greninja_Wu
·
2017-10-19 14:50
BZOJ题解
找规律
高精度
BZOJ题解
By
Greninja
部分常见刷题网站的题解
By
Greninja
BZOJ1002
轮状病毒
[
BZOJ1002
]FJOI2007轮状病毒不会啊,结论题。。。
KirinBill
·
2017-07-25 20:34
题解
bzoj1002
轮状病毒 递推 高精度
Description轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示现给定n(N=10thenbegindec(k,10);t:=1;end
YIF丶
·
2017-04-17 18:40
bzoj
【
bzoj1002
】[FJOI2007]轮状病毒
1002:[FJOI2007]轮状病毒TimeLimit:1SecMemoryLimit:162MBSubmit:4381Solved:2393[Submit][Status][Discuss]Description轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示N轮
chty_syq
·
2016-11-21 13:47
[
BZOJ1002
][FJOI2007]轮状病毒(打表找规律+高精度||结论)
题目描述传送门题解根据基尔霍夫矩阵(我也不知道是什么)推出f[i]=(f[i-1]*3-f[i-2]+2)。然而这道题可以打表找规律,具体见http://blog.csdn.net/jiangshibiao/article/details/22645557代码#include#include#includeusingnamespacestd;intn;structhp{inta[110];};hp
Clove_unique
·
2016-05-17 19:06
题解
dp
省选
高精度
乱搞
[
BZOJ1002
][FJOI2007]轮状病毒(打表找规律+高精度||结论)
题目描述传送门题解根据基尔霍夫矩阵(我也不知道是什么)推出f[i]=(f[i-1]*3-f[i-2]+2)。然而这道题可以打表找规律,具体见http://blog.csdn.net/jiangshibiao/article/details/22645557代码#include#include#includeusingnamespacestd;intn;structhp{inta[110];};hp
Clove_unique
·
2016-05-17 19:06
题解
dp
省选
高精度
乱搞
BZOJ1002
无向联通图的生成树计数
分析:求无向连通图的生成树个数我们要用到Matrix-Tree定理,这里我只给出具体实现方法,至于怎么证明。。。。我现在也没耐心去看。。有兴趣的同学可以看看周冬老师的《生成树的计数及其应用》。好的,现在给出实现方法:点击打开链接,哈哈自己看吧,我是不太想写上来了。按照算法将行列式构造出来之后我们可以发现这个行列式是有特点的,可以用行列式的展开来得到一个递推关系式(所以说线代还是要好好学滴),D[n
AC_hell
·
2016-03-16 21:43
算法
BZOJ1002
无向联通图的生成树计数
分析:求无向连通图的生成树个数我们要用到Matrix-Tree定理,这里我只给出具体实现方法,至于怎么证明。。。。我现在也没耐心去看。。有兴趣的同学可以看看周冬老师的《生成树的计数及其应用》。好的,现在给出实现方法:点击打开链接,哈哈自己看吧,我是不太想写上来了。按照算法将行列式构造出来之后我们可以发现这个行列式是有特点的,可以用行列式的展开来得到一个递推关系式(所以说线代还是要好好学滴),D[n
AC_hell
·
2016-03-16 21:00
ACM
图论
生成树计数
题解报告
【
BZOJ1002
】[FJOI2007]轮状病毒 递推+高精度
Description给定n(N 2#include 3usingnamespacestd; 4structdata{inta[101],len;}f[101]; 5intn; 6datagjc(dataa,intk) 7{ 8for(inti=1;i=10) 23{ 24a.a[j]%=10; 25a.a[j+1]++; 26j++; 27} 28if(a.a[a.le
DMoon
·
2016-03-06 16:00
弱逼发福利——BZOJ简易题解
【
BZOJ1002
】状态压缩dp。【BZOJ1003】最短路+dp。【BZOJ1004】每一种洗牌对应一种置换,用一下burnside。【BZOJ1005】prufer。
YJMWOI
·
2016-02-21 14:00
[
BZOJ1002
] [FJOI2007] 轮状病毒
详细的做法和证明过程网上已经有了,这里就不加以赘述。其实打个表就能看出来关系咯。ps:我这里用&来代替一次计算的#include"stdio.h" #include"memory.h" usingnamespacestd; structHugeInt{ intans[61]; intl; voidoutput() {inti; for(i=l;i>=1;i--){ putchar(ans[i]
whzzt
·
2016-02-19 19:00
BZOJ 1002 + SPOJ 104 基尔霍夫矩阵 递推
BZOJ1002
高精度+递推f[1]=1;f[2]=5;f[i]=f[i-1]*3-f[i-2]+2;SPOJ104裸+不用Mod1#include 2#include 3#include 4#include
漫步者。!~
·
2016-02-12 21:00
BZOJ1002
传送门:
BZOJ1002
似乎做法挺多,不过我并不懂得基于连通性的动态规划,于是只能做纯数学解法。
Le_ballon_rouge
·
2015-08-13 11:13
数学
【FJOI2007】【
BZOJ1002
】轮状病毒
我本以为这是个Matrix-tree裸题模板…没想到………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..1002:[FJOI2007]轮状病毒TimeLimit:1SecMemoryLimit:162MBSubmit:3066Solved:1699[Submit][Stat
CreationAugust
·
2015-06-10 16:31
随便搞搞
丧心病狂
模板题库
【FJOI2007】【
BZOJ1002
】轮状病毒
我本以为这是个Matrix-tree裸题模板…没想到………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..1002:[FJOI2007]轮状病毒TimeLimit:1SecMemoryLimit:162MBSubmit:3066Solved:1699[Submit][Stat
CreationAugust
·
2015-06-10 16:00
矩阵树定理
【
bzoj1002
】【FJOI2007】【轮状病毒】
1002:[FJOI2007]轮状病毒TimeLimit:1SecMemoryLimit:162MBSubmit:3060Solved:1695[Submit][Status][Discuss]Description给定n(N1——————–1^22->5——————–3^2-43->16——————-4^24->45——————-7^2-45->121——————11^26->320——————
FZHvampire
·
2015-06-06 17:55
【
bzoj1002
】【FJOI2007】【轮状病毒】
1002:[FJOI2007]轮状病毒TimeLimit:1SecMemoryLimit:162MBSubmit:3060Solved:1695[Submit][Status][Discuss]Description给定n(N1——————–1^22->5——————–3^2-43->16——————-4^24->45——————-7^2-45->121——————11^26->320——————
FZHvampire
·
2015-06-06 17:00
【
BZOJ1002
】【FJOI2007】轮状病毒 生成树计数推导。 Python代码
突然学了一小下Python算是勉强会写点了。至于这道题的题解,就是根据MatrixTree定理,然后Kirchhoff矩阵高斯消元就好了,不过这道题如果消去中心点的行和列做的话,矩阵会很规矩,然后貌似“手算”可以推出公式(VFKOrz,手算……)VFK’sblog:http://vfleaking.blog.163.com/blog/static/17480763420119685112649/然
空灰冰魂
·
2015-01-09 09:35
动态规划
Matrix-Tree定理
Python
【
BZOJ1002
】【FJOI2007】轮状病毒 生成树计数推导。 Python代码
突然学了一小下Python算是勉强会写点了。至于这道题的题解,就是根据MatrixTree定理,然后Kirchhoff矩阵高斯消元就好了,不过这道题如果消去中心点的行和列做的话,矩阵会很规矩,然后貌似“手算”可以推出公式(VFKOrz,手算……)VFK’sblog:http://vfleaking.blog.163.com/blog/static/17480763420119685112649/然
Vmurder
·
2015-01-09 09:00
Matrix-Tree定理
FJOI2007
轮状病毒
BZOJ1002
BZOJ1002
(找规律+大数)
1002:[FJOI2007]轮状病毒TimeLimit: 1Sec MemoryLimit: 162MBSubmit: 2427 Solved: 1333[Submit][Status]Description给定n(N<=100),编程计算有多少个不同的n轮状病毒。Input第一行有1个正整数n。Output将编程计算出的不同的n轮状病毒数输出SampleInput3SampleOutput
cq_phqg
·
2014-10-11 00:00
ACM
bzoj
HDU2481 Toy (数论好题)
题意来自上一题,(http://blog.csdn.net/jayye1994/article/details/37814965 )
BZOJ1002
:[FJOI2007]轮状病毒上一题是旋转后相同视为不同情况
u010710717
·
2014-07-15 15:00
【
BZOJ1002
】【高精度】【找规律】轮状病毒
一开始想到一个错误的组合数的解法。写了各种高精浪费两个小时才发现是错的。最后没办法只有爆搜出来找规律。n=11n=25n=316n=445n=5121n=6320n=7841n=82205n=95776n=1015125最终推出来一个通项:a[n]=3*a[n-1]-a[n-2]+2再写个高精,问题就顺利解决了。代码:#include #include usingnamespacestd; con
njlcazl
·
2012-12-14 21:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他