HNCPC2019H 有向图
题目
设\(f_i\)表示经过\(i\)的期望次数。那么显然答案\(ans_j=\sum\limits_{i=1}^nf_iP_{i,j}\)。
我们可以轻松地列出转移式子:
\]
\]
高消即可。
#include<bits/stdc++.h>
using namespace std;
const int N=1007,P=1000000007;
int p[N][N],a[N][N];
int inc(int a,int b){a+=b;return a>=P? a-P:a;}
int mns(int a,int b){a-=b;return a<0? a+P:a;}
int mul(int a,int b){return 1ll*a*b%P;}
int inv(int a){int r=1,k=P-2;for(;k;k>>=1,a=mul(a,a))if(k&1)r=mul(a,r);return r;}
int read(){int x;cin>>x;return x;}
int main()
{
freopen("1.in","r",stdin);
int n,m,i,j,k,x,ans,Inv=inv(10000);
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(a,0,sizeof a);
for(i=1;i<=n;++i) for(j=1;j<=n+m;++j) p[i][j]=mul(read(),Inv);
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j) a[i][j]=i==j? mns(p[j][i],1):p[j][i];
a[i][n+1]=i==1? P-1:0;
}
for(i=1;i<=n;++i) for(j=1;j<=n;++j) if(i^j) for(x=mul(a[j][i],inv(a[i][i])),k=1;k<=n+1;++k) a[j][k]=mns(a[j][k],mul(a[i][k],x));
for(i=1;i<=n;++i) a[i][n+1]=mul(a[i][n+1],inv(a[i][i]));
for(i=n+1;i<=n+m;++i)
{
for(ans=0,j=1;j<=n;++j) ans=inc(ans,mul(p[j][i],a[j][n+1]));
printf("%d ",ans);
}
puts("");
}
}
HNCPC2019H 有向图的更多相关文章
- 关于有向图走“无限次”后求概率/期望的口胡/【题解】HNCPC2019H 有向图
关于有向图走"无限次"后求概率/期望的口胡/[题解]HNCPC2019H 有向图 全是口胡 假了不管 讨论的都是图\(G=(V,E),|V|=n,|E|=m\)上的情况 " ...
- Kosaraju 算法检测有向图的强连通性
给定一个有向图 G = (V, E) ,对于任意一对顶点 u 和 v,有 u --> v 和 v --> u,亦即,顶点 u 和 v 是互相可达的,则说明该图 G 是强连通的(Strong ...
- POJ 2337 Catenyms(有向图的欧拉通路)
题意:给n个字符串(3<=n<=1000),当字符串str[i]的尾字符与str[j]的首字符一样时,可用dot连接.判断用所有字符串一次且仅一次,连接成一串.若可以,输出答案的最小字典序 ...
- code forces 383 Arpa's loud Owf and Mehrdad's evil plan(有向图最小环)
Arpa's loud Owf and Mehrdad's evil plan time limit per test 1 second memory limit per test 256 megab ...
- 有向图强连通分量的Tarjan算法
有向图强连通分量的Tarjan算法 [有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G ...
- hdu1269迷宫城堡(判断有向图是否是一个强连通图)
1 /* 题意: 给你一个图,求这个有向图示否是一个强连通图(每两个节点都是可以相互到达的)! 思路1:按正向边dfs一遍,将经过的节点计数,如果记录的节点的个数小于n,那么就说明图按照正向边就不是连 ...
- poj 1386 Play on Words(有向图欧拉回路)
/* 题意:单词拼接,前一个单词的末尾字母和后一个单词的开头字母相同 思路:将一个单词的开头和末尾单词分别做两个点并建一条有向边!然后判断是否存在欧拉回路或者欧拉路 再次强调有向图欧拉路或欧拉回路的判 ...
- NYOJ 99单词拼接(有向图的欧拉(回)路)
/* NYOJ 99单词拼接: 思路:欧拉回路或者欧拉路的搜索! 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 有向图的欧拉路:abs(In[i ...
- 邻接表有向图(三)之 Java详解
前面分别介绍了邻接表有向图的C和C++实现,本文通过Java实现邻接表有向图. 目录 1. 邻接表有向图的介绍 2. 邻接表有向图的代码说明 3. 邻接表有向图的完整源码 转载请注明出处:http:/ ...
随机推荐
- 11. ClustrixDB 管理文件空间和数据库容量
ClustrixDB监视集群中可用的空间量,并主动警告潜在的容量问题.确定集群容量的阈值是可配置的,如下所述. 存储类型 要了解如何管理设备和数据库的利用率,必须首先了解ClustrixDB如何分配磁 ...
- noi 求分数序列和 x
求分数序列和 总时间限制: 1000ms 内存限制: 65536kB 描述 有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, ...
- Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks(用于深度网络快速适应的元学习)
摘要:我们提出了一种不依赖模型的元学习算法,它与任何梯度下降训练的模型兼容,适用于各种不同的学习问题,包括分类.回归和强化学习.元学习的目标是在各种学习任务上训练一个模型,这样它只需要少量的训练样本就 ...
- 织梦DedeCms技术资料
Dedecms调用文章发布时间的方法 11-20 样式 ([field:pubdate function='strftime("%m-%d",@me)'/]) May 15, 20 ...
- LVM逻辑卷的扩充
LVM 的全名是 Logical Volume Manager,中文可以翻译作逻辑滚动条管理员.之所以称为”滚动条”可能是因为可以将 filesystem 像滚动条一样伸长或缩短.LVM 的作法是将几 ...
- sqli-labs(19)
百度了一下 基于错误的referer头的注入 0X01爱之初体验 猜测是基于referer头的注入 我们在referer后面加入单引号测试一下 真的报错了诶 那我们猜测一下 他应该是把 referer ...
- linux xz压缩解压
1. 解压 xz 格式文件 方法一: 需要用到两步命令,首先利用 xz-utils 的 xz 命令将 linux-3.12.tar.xz 解压为 linux-3.12.tar,其次用 tar 命令将 ...
- springboot上传文件大小限制的配置
springboot配置文件: application.properties #配置文件传输 spring.servlet.multipart.enabled =true spring.servlet ...
- 错误1919,配置ODBC数据源MS Access Database时发生错误ODEC错误
WIN7 64位旗舰版安装OFFICE2003 提示:“错误1919,配置ODBC数据源MS Access Database时发生错误ODEC错误” 在64位系统上,32位软件的注册表的信息不是直接在 ...
- jquery版本轮播图(es5版本,兼容高)
优势:基于es5,兼容高.切换动画css配置,轻量,不包含多余代码,可扩展性很高,多个轮播图不会冲突,可配置独有namespace 注: 1.项目需要所写,所以只写了页码的切换,未写上一页下一页按钮, ...