P4455 [CQOI2018]社交网络】的更多相关文章

题目 P4455 [CQOI2018]社交网络 \(CQOI\)的题都这么裸的吗?? 做法 有向图,指向叶子方向 \(D^{out}(G)-A(G)\) 至于证明嘛,反正也就四个定理,先挖个坑,省选后再来补 My complete code #include<cstdio> #include<iostream> #include<cstring> #include<string> #include<algorithm> #include<c…
这个题仔细一看就是生成树计数,但是我这个记性是真的差,早就忘了.复习了一下高斯消元,然后这个题就是很裸的题了. ps:高斯消元解行列式的时候要取反. 题干: 题目背景 当今社会,在社交网络上看朋友的消息已经成为许多人生活的一部分.通常,一个用户在社交网络上发布一条消息(例如微博.状态.Tweet等) 后,他的好友们也可以看见这条消息,并可能转发.转发的消息还可以继续被人转发,进而扩散到整个社交网络中. 题目描述 在一个实验性的小规模社交网络中我们发现,有时一条热门消息最终会被所有人转发.为了研究…
今天看了一下矩阵树定理,然后学了一下\(O(n ^ 3)\)的方法求行列式. 哦对了,所有的证明我都没看-- 这位大佬讲的好呀: [学习笔记]高斯消元.行列式.Matrix-Tree 矩阵树定理 关于模数不是质数的情况,我看了半天才懂:其实就是加速了两行的辗转相减,把一次次减换成了取模.然后别忘了每一次交换两行的时候行列式要取相反数. [HEOI2015]小Z的房间 这题就是板儿题了.把是'.'的格子记录下来,然后构造基尔霍夫矩阵就行了. #include<cstdio> #include&l…
分析 这题我们先转化为图论模型,发现求的其实就是有向图中以1为根的生成树数量.而关于这一问题存在O(3^n * n^2)的算法,一看数据n=250,发现不行.于是需要更高效的算法--Matrix-Tree 算法.这个算法是O(n^3 * logn)的,满足要求.至于Matrix-Tree 算法是什么,自己去学,我只分析这题的解法. 快速求解行列式 利用费马小定理来消元,把矩阵消成上三角 由于a[i][i]^(p-1) mod p=1 所以我们设法让a[j][i]乘上(1-a[i][i]^(p-1…
BZOJ5297 CQOI2018 社交网络 Description 当今社会,在社交网络上看朋友的消息已经成为许多人生活的一部分.通常,一个用户在社交网络上发布一条消息(例如微博.状态.Tweet等)后,他的好友们也可以看见这条消息,并可能转发.转发的消息还可以继续被人转发,进而扩散到整个社交网络中.在一个实验性的小规模社交网络中我们发现,有时一条热门消息最终会被所有人转发.为了研究这一现象发生的过程,我们希望计算一条消息所有可能的转发途径有多少种.为了编程方便,我们将初始消息发送者编号为1,…
Description 当今社会,在社交网络上看朋友的消息已经成为许多人生活的一部分.通常,一个用户在社交网络上发布一条消息 (例如微博.状态.Tweet等)后,他的好友们也可以看见这条消息,并可能转发.转发的消息还可以继续被人转 发,进而扩散到整个社交网络中.在一个实验性的小规模社交网络中我们发现,有时一条热门消息最终会被所有人 转发.为了研究这一现象发生的过程,我们希望计算一条消息所有可能的转发途径有多少种.为了编程方便,我们 将初始消息发送者编号为1,其他用户编号依次递增.该社交网络上的所…
题目背景 当今社会,在社交网络上看朋友的消息已经成为许多人生活的一部分.通常,一个用户在社交网络上发布一条消息(例如微博.状态.Tweet等) 后,他的好友们也可以看见这条消息,并可能转发.转发的消息还可以继续被人转发,进而扩散到整个社交网络中. 题目描述 在一个实验性的小规模社交网络中我们发现,有时一条热门消息最终会被所有人转发.为了研究这一现象发生的过程,我们希望计算一条消息所有可能的转发途径有多少种.为了编程方便,我们将初始消息发送者编号为1,其他用户编号依次递增. 该社交网络上的所有好友…
板子题. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define N 256 #define P 10007 ')) c=getchar();return c;} ?n:gcd(…
bzoj luogu sol 就是求以\(1\)为根的生成树的数量. 直接矩阵树定理. code #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int gi() { int x=0,w=1;char ch=getchar(); while ((ch<'0'||ch>'9')&&ch!='-') ch=getchar(); if (ch==…
题目链接 BZOJ5297 题解 最近这玩意这么那么火 这题要用到有向图的矩阵树定理 主对角线上对应入度 剩余位置如果有边则为\(-1\),不然为\(0\) \(M_{i,i}\)即为以\(i\)为根的有向图生成树个数 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<map> #defi…