当前位置: 首页 > news >正文

青海省教育厅门户网站登录简约式网站模板

青海省教育厅门户网站登录,简约式网站模板,wordpress能开发商城网站吗,信息门户网站怎么做正题 题目链接:https://www.luogu.com.cn/problem/CF446D 题目大意 给出nnn个点mmm条边的一张无向图#xff0c;一些点有陷阱#xff0c;走到时会损失一条生命#xff0c;总共有kkk条生命#xff0c;求从111出发随机游走到nnn没有死亡且到终点时仅剩一条命的概率。 1≤n≤…正题 题目链接:https://www.luogu.com.cn/problem/CF446D 题目大意 给出nnn个点mmm条边的一张无向图一些点有陷阱走到时会损失一条生命总共有kkk条生命求从111出发随机游走到nnn没有死亡且到终点时仅剩一条命的概率。 1≤n≤500,1≤m≤105,2≤k≤1091\leq n\leq 500,1\leq m\leq 10^5,2\leq k\leq 10^91≤n≤500,1≤m≤105,2≤k≤109 陷阱点个数不超过100100100。 解题思路 这个kkk很大这个陷阱点个数又很少我们可以考虑矩阵乘法预处理ai,ja_{i,j}ai,j​表示陷阱点iii走到陷阱点jjj且中间没有走陷阱点的概率然后矩阵乘法转移即可。 但是现在的问题是我们如何快速预处理出ai,ja_{i,j}ai,j​可以考虑枚举终点xxx那么有fx1f_x1fx​1然后其他的陷阱点处fx0f_x0fx​0一般的点处fx1degx∑x→yfyf_x\frac{1}{deg_x}\sum_{x\rightarrow y}f_{y}fx​degx​1​∑x→y​fy​这样我们就能对于每个起点预处理出gi,jg_{i,j}gi,j​表示从无陷阱的节点iii走到陷阱点jjj且中间没有其他陷阱点的概率。 之后我们枚举起点陷阱点的出边就可以预处理出aaa了因为上面的过程要用到高斯消元所以这样的复杂度是O(n4)O(n^4)O(n4)的无法通过本题。 不难注意到上面的消元中我们只有陷阱点处的常数且陷阱点处仅有常数发生了变化所以我们可以直接高斯消出每个非陷阱点和所有陷阱点的关系式然后直接带入常数即可。 记陷阱点个数为rrr时间复杂度O((nr)3r3log⁡k)O((nr)^3r^3\log k)O((nr)3r3logk) code #includecstdio #includecstring #includealgorithm #includecmath #includevector using namespace std; const int N610,S110; const double eps1e-8; struct matrix{double a[S][S]; }ans,m,c; matrix operator*(const matrix a,const matrix b){memset(c.a,0,sizeof(c.a));for(int i0;iS;i)for(int j0;jS;j)for(int k0;kS;k)c.a[i][j]a.a[i][k]*b.a[k][j];return c; } int n,h,k,deg[N],a[N][N]; double f[N][N];bool v[N]; vectorint q; int main() {scanf(%d%d%d,n,h,k);for(int i1;in;i){scanf(%d,v[i]);if(v[i]){q.push_back(i);f[i][nq.size()]f[i][i]1;}}int rnq.size();for(int i1,x,y;ih;i){scanf(%d%d,x,y);a[x][y];a[y][x];deg[x];deg[y];}for(int i1;in;i){if(v[i])continue;for(int j1;jn;j)f[i][j]-1.0*a[i][j]/(double)deg[i];f[i][i]1;}for(int i1;in;i){for(int ji;jn;j)if(fabs(f[i][j])eps){swap(f[i],f[j]);break;}double df[i][i];for(int ji;jr;j)f[i][j]f[i][j]/d;for(int j1;jn;j){if(ij)continue;double rate-f[j][i]/f[i][i];for(int ki;kr;k)f[j][k]rate*f[i][k];}}for(int i0;iq.size();i)ans.a[0][i]f[1][ni1];for(int i0;iq.size();i){for(int j0;jq.size();j){for(int k1;kn;k)m.a[i][j]a[q[i]][k]*f[k][nj1];m.a[i][j]/(double)deg[q[i]];}}k-2;while(k){if(k1)ansans*m;mm*m;k1;}printf(%.10lf\n,ans.a[0][q.size()-1]);return 0; }
http://www.pierceye.com/news/192541/

相关文章:

  • 网站建设 语言成都app
  • 免费建站的手机app专业做网站设计公司价格
  • 江苏宜兴做网站的电话seo基础培训
  • 企业手机端网站模板下载济南公司建站模板
  • 一般公司做网站多少钱南昌市房产网
  • 惠州网站小程序建设做公司永久免费网站什么好
  • 湖南涟钢建设有限公司网站局网站建设工作总结
  • 家乡ppt模板免费下载网站合肥百姓网网站建设
  • 免费整套ppt模板下载网站东莞建设教育网站
  • 漯河网站建设漯河ps制作个人网站首页
  • 电商网站公司软件开发和软件研发
  • 网站建设浙江公司网站开发运营新人要注意什么
  • 外贸网站模板哪里下载家里电脑可以做网站服务器吗
  • 长沙门户网站北京设计网站的公司
  • 站长统计平面设计找工作难吗
  • seo建站公司推荐电商平台活动策划方案
  • 建设淘宝客网站.lc和ev手机对比平台
  • vue 做企业网站特产网站开发背景
  • 奉新网站制作dede视频网站源码
  • 做动画网站去哪采集建设网站需要的资金清单
  • 网站后台发邮件注册公司需要什么证件和手续
  • 炫酷特效网站万网虚拟主机免费空间
  • 公司网站模板最新怀远网站建设哪家好
  • 交互式网站定义如何网上找加工订单
  • 一个域名可以做几个网站吗南城网站建设公司
  • 宝安商城网站建设flash新手入门简单动画制作
  • 设置网站建设WordPress adsen
  • 网站与微信内容建设与运维总结建筑网络图
  • 网站模板文件不存在网站建设礻金手指下拉十二
  • 东莞浩智建设网站公司做百度推广员赚钱吗