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

建平县网站建设安阳哪里做360网站

建平县网站建设,安阳哪里做360网站,我要自学网免费视频教程,wordpress自动汉化正题 题面链接:https://www.luogu.com.cn/problem/P6030 题目大意 nnn个点的一张有向图#xff0c;求起点到终点的期望步数。保证每个强连通分量大小不超过100100100。 解题思路 显然如果是强连通分量那么显然需要用高斯消元。 先把强连通用tarjantarjantarjan缩起来#…正题 题面链接:https://www.luogu.com.cn/problem/P6030 题目大意 nnn个点的一张有向图求起点到终点的期望步数。保证每个强连通分量大小不超过100100100。 解题思路 显然如果是强连通分量那么显然需要用高斯消元。 先把强连通用tarjantarjantarjan缩起来如果有任何不是ttt的节点没有出度那么答案都为INFINFINF然后剩下的每个用高斯消元做一次即可。 codecodecode #includecstdio #includecstring #includealgorithm #includevector #includecmath #includestack using namespace std; const int N1e410; int n,m,s,t,out[N],deg[N],top[N],pos[N]; int cnt,num,col[N],dfn[N],low[N]; double ans[N];bool ins[N]; vectorint v[N]; stackint st; struct Graph{int ls[N],tot;struct node{int from,to,next;}a[N*200];void addl(int x,int y){a[tot].toy;a[tot].fromx;a[tot].nextls[x];ls[x]tot;return;} }G,D; struct Guass{double a[110][110],b[110];void solve(int n){for(int i1;in;i){int zi;for(int ji1;jn;j)if(fabs(a[j][i])fabs(a[z][i]))zj;for(int j1;jn;j)swap(a[i][j],a[z][j]);swap(b[z],b[i]);for(int j1;jn;j){if(ij)continue;double ratea[j][i]/a[i][i];for(int ki;kn;k)a[j][k]-rate*a[i][k];b[j]-rate*b[i];}}for(int i1;in;i)b[i]/a[i][i];return;} }M; void tarjan(int x){dfn[x]low[x]cnt;st.push(x);ins[x]1;for(int iG.ls[x];i;iG.a[i].next){int yG.a[i].to;if(!dfn[y]){tarjan(y);low[x]min(low[x],low[y]); }else if(ins[y])low[x]min(low[x],dfn[y]);}if(dfn[x]low[x]){num;while(st.top()!x){col[st.top()]num;v[num].push_back(st.top());ins[st.top()]0;st.pop();}col[st.top()]num;v[num].push_back(st.top());ins[st.top()]0;st.pop();}return; } void topsort(){int head1,tail1;top[1]col[s];while(headtail){int xtop[head];for(int iD.ls[x];i;iD.a[i].next){int yD.a[i].to;deg[y]--;if(!deg[y])top[tail]y;}}return; } void calc(int id){int cnt0;for(int i0;iv[id].size();i)pos[v[id][i]]cnt;memset(M.a,0,sizeof(M.a));memset(M.b,0,sizeof(M.b));for(int p0;pv[id].size();p){int xv[id][p];if(!out[x])return;for(int iG.ls[x];i;iG.a[i].next){int yG.a[i].to;if(col[x]!col[y])M.b[pos[x]]1.0*ans[y]/out[x];else M.a[pos[x]][pos[y]]-1.0/out[x];}M.a[pos[x]][pos[x]]1;M.b[pos[x]]1;}M.solve(cnt);for(int i0;iv[id].size();i)ans[v[id][i]]M.b[i1];return; } int main() {scanf(%d%d%d%d,n,m,s,t);for(int i1;im;i){int x,y;scanf(%d%d,x,y);if(x!t){out[x];G.addl(x,y);}}tarjan(s);for(int i1;iG.tot;i){int xG.a[i].from,yG.a[i].to;if(col[x]!col[y]col[x]!col[t])deg[col[x]];}for(int i1;in;i){if(it!dfn[i])return printf(INF\n)0;if(col[i]!col[t]dfn[i]!deg[col[i]])return printf(INF\n)0;}memset(deg,0,sizeof(deg));for(int i1;iG.tot;i){int xG.a[i].from,yG.a[i].to;if(!col[x]||!col[y]||col[x]col[t])continue;if(col[x]!col[y]){D.addl(col[x],col[y]);deg[col[y]];}}topsort();for(int inum;i1;i--)calc(top[i]);printf(%.3lf,ans[s]); }
http://wiki.neutronadmin.com/news/318952/

相关文章:

  • 陕西建站贵阳市建设局网站
  • wordpress 文章页面海南网站优化公司
  • 市场宣传推广方案老网站怎么做seo优化
  • 建设一个网站需要哪些步骤wordpress页面参数
  • dns网站建设asp.net 4.0网站开发与项目实战(全程实录) pdf
  • 济南集团网站建设公司好用wordpress建站之后如何优化
  • 做新房网站怎么弄编织网站建设
  • 网站建设过程中需要注意的通用原则外贸网站怎样做推广
  • dede免费模板教育网站公司门户网站首页
  • 怎样编辑网站设备管理系统网站模板
  • 怎样给网站登录界面做后台wordpress文章末尾加上相关文章
  • 韶关市建设工程造价网站有限公司破产后债务谁承担
  • 中国临海门户网站工程建设哈尔滨可以做网站的公司
  • 网站定制要花多少钱网站标题的重要性
  • 电子商务网站建设感想义乌市网站建设
  • 示范校建设 成果网站钢材进销存管理软件
  • 做蛋糕视频的网站提高百度快速排名
  • 公司网站建设的建议wordpress 模板4列插件
  • 产品网站建设哪个好推广深圳
  • 网站app建设禁止搜索引擎抓取wordpress的目录
  • 班级网站建设维护英语培训机构网站建设策划书
  • 乌拉圭网站后缀类似一起做网店的网站
  • 如何做网站信息wordpress添加页脚QQ图标
  • 好推建站网站可视化编辑
  • 织梦英文网站模板工作室赚钱项目
  • 潍坊市安丘网站建设邢台企业网站建设
  • 网站摄影设计有没有不花钱建设网站的方法
  • tomcat网站开发宁波seo排名公司
  • 常用的网站开发技术有哪几种网页开发工具软件有哪些
  • 电子商务与网站建设实践论文建站是什么专业