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

宁波做网站的公司路由器当服务器做网站

宁波做网站的公司,路由器当服务器做网站,免费建网站可信吗,辽宁省建设监理协会网站正题 题目链接:https://www.luogu.com.cn/problem/P2272 题目大意 半连通图定义为任意两个点(u,v)(u,v)(u,v)满足uuu可以到vvv或vvv可以到uuu的有向图。 现在给出一张图#xff0c;求最大半连通子图与其数量。 解题思路 显然一个强连通一定是一个半连通#xff0c;所以我…正题 题目链接:https://www.luogu.com.cn/problem/P2272 题目大意 半连通图定义为任意两个点(u,v)(u,v)(u,v)满足uuu可以到vvv或vvv可以到uuu的有向图。 现在给出一张图求最大半连通子图与其数量。 解题思路 显然一个强连通一定是一个半连通所以我们可以先tarjantarjantarjan缩点。 可以发现半连通一定是缩完点之后的DAGDAGDAG上的一条链所以我们可以用dpdpdp解决。 需要注意的是如果两条边连通两个相同缩完后的点这些重边需要去掉否则会对统计答案造成影响。 时间复杂度O(mlog⁡mn)O(m\log mn)O(mlogmn)改用hashhashhash去重可以去掉那个log⁡m\log mlogm的复杂度 codecodecode #includecstdio #includecstring #includealgorithm #includestack #includequeue using namespace std; const int N1e510; struct node{int to,from,next; }a[N*10]; int n,p,m,tot,cnt,num,ls[N]; int dfn[N],low[N],col[N],siz[N]; int f[N],g[N],in[N],ans;bool ins[N]; stackint s;queueint q; void addl(int x,int y){a[tot].toy;a[tot].fromx;a[tot].nextls[x];ls[x]tot;return; } void tarjan(int x){dfn[x]low[x]cnt;ins[x]1;s.push(x);for(int ils[x];i;ia[i].next){int ya[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(s.top()!x){ins[s.top()]0;col[s.top()]num;siz[num];s.pop();}ins[s.top()]0;col[s.top()]num;siz[num];s.pop();}return; } bool cmp(node x,node y) {return (col[x.from]col[y.from])?col[x.to]col[y.to]:col[x.from]col[y.from];} void topsort(){for(int i1;inum;i){if(!in[i])q.push(i);f[i]siz[i];g[i]1;ansmax(ans,f[i]);}while(!q.empty()){int xq.front();q.pop();for(int ils[x];i;ia[i].next){int ya[i].to;in[y]--;if(f[x]siz[y]f[y])f[y]f[x]siz[y],g[y]g[x];else if(f[x]siz[y]f[y])g[y](g[y]g[x])%p;ansmax(ans,f[y]);if(!in[y])q.push(y);}}return; } int main() {scanf(%d%d%d,n,m,p);for(int i1;im;i){int x,y;scanf(%d%d,x,y);addl(y,x);}for(int i1;in;i)if(!dfn[i])tarjan(i);sort(a1,a1tot,cmp);int pttot,lx0,ly0;tot0;memset(ls,0,sizeof(ls));for(int i1;ipt;i){int xa[i].from,ya[i].to;if(col[x]col[lx]col[y]col[ly])continue;if(col[x]!col[y])addl(col[y],col[x]),in[col[x]];lxx;lyy;}topsort();printf(%d\n,ans);int sum0;for(int i1;in;i)if(f[i]ans)(sumg[i])%p;printf(%d\n,sum);return 0; }
http://www.yutouwan.com/news/389590/

相关文章:

  • 建站套餐和定制网站的区别网站设计的国际专业流程是什么
  • 微信建设网站哪家好哪里有免费的网站域名
  • 网站标题大全惠州市网络推广
  • 网站认证收费吗网站推广策略方法
  • 郑州注册公司网站安卓手机优化软件排名
  • 网络安全技术吉林seo技术交流
  • 创新的成都网站建设备案名 网站名
  • 中国最好的网站建设公司苏州高端网站建设设计公司
  • 如何查看网站抓取频率网站代码输入完成之后要怎么做
  • 跨境电商建站新品发布会海报
  • 服装网站建设物流配送系统一键优化win10
  • 阳江市建设路龙源学校网站国内自建站
  • 搭建什么网站赚钱信息服务类网站怎么做
  • 如何搭建一个论坛网站wordpress google 字体 插件
  • 网站设计的素材有哪些门户网站建设美丽
  • 网站开发培训成都办一家建筑公司怎么样
  • 网站后台维护月薪多少如何使用网站模板
  • 审计实务网站建设论文网站图片展示源代码
  • 网站建设书籍论文30g月流量网站
  • 电商购物网站模板下载自己公司内网网站和外网怎么做同步
  • 网页网站模板乱起封神是那个网站开发的?
  • 编程开源网站电商建设网站
  • 网站横幅图片wordpress 插件 2014
  • 婚纱摄影网站源码苏州博客关键词优化
  • 建站公司新闻资讯wordpress调用最近更新文章
  • 深圳地铁网站开发wordpress上一篇下一篇
  • 做网站的知名品牌公司一个购物网站开发语言
  • 乐营销网站沧浪企业建设网站电话
  • 松江网站建设多少钱建筑网片自动清洗机
  • 北京制作网站公司哪家好网站建设 网站开发 区别