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

写小说的网站自己做封面合肥专业商业网站

写小说的网站自己做封面,合肥专业商业网站,网页设计代码链接怎么写,网站设计师职位认识题目描述 一个无环的有向图称为无环图#xff08;Directed Acyclic Graph#xff09;#xff0c;简称DAG图。 AOE(Activity On Edge)网#xff1a;顾名思义#xff0c;用边表示活动的网#xff0c;当然它也是DAG。与AOV不同#xff0c;活动都表示在了边上#xff… 题目描述 一个无环的有向图称为无环图Directed Acyclic Graph简称DAG图。      AOE(Activity On Edge)网顾名思义用边表示活动的网当然它也是DAG。与AOV不同活动都表示在了边上如下图所示                                           如上所示共有11项活动11条边9个事件9个顶点。整个工程只有一个开始点和一个完成点。即只有一个入度为零的点源点和只有一个出度为零的点汇点。     关键路径是从开始点到完成点的最长路径的长度。路径的长度是边上活动耗费的时间。如上图所示1 到2 到 5到7到9是关键路径关键路径不止一条请输出字典序最小的权值的和为18。 输入 这里有多组数据保证不超过10组保证只有一个源点和汇点。输入一个顶点数n(2n10000),边数m(1m 50000),接下来m行输入起点sv终点ev,权值w1sv,evn,sv ! ev,1w 20)。数据保证图连通。输出 关键路径的权值和并且从源点输出关键路径上的路径如果有多条请输出字典序最小的。示例输入 9 11 1 2 6 1 3 4 1 4 5 2 5 1 3 5 1 4 6 2 5 7 9 5 8 7 6 8 4 8 9 4 7 9 2 示例输出 18 1 2 2 5 5 7 7 9 提示 #includestdio.h #includestdlib.h #includestack #includestring.h using namespace std; typedef struct arcnode//表结点 {     int adj;//存储结点     arcnode *next;     int info;//存储权值 }arcnode; typedef struct vnode//头结点 {     int data;     arcnode *first; }adjlist[10001]; typedef struct//图的结构 {     adjlist a;     int vn,an; }ALG; int n,m,i,j; int indegree[10001];//记录每个点的入度 int ve[10001];//最早开始时间 int vl[10001];//最迟开始时间 void create(ALG g)//建立有向图邻接表 {     int v1,v2,w;     arcnode *p;     g.vnn;g.anm;     for(i1;ig.vn;i)         g.a[i].firstNULL;//头结点清空     for(i1;ig.an;i)     {         scanf(%d%d%d,v1,v2,w);         pnew arcnode;         p-adjv2;         p-infow;         indegree[v2];         p-nextg.a[v1].first;         g.a[v1].firstp;     } } stackints;//用于逆拓扑有序时求vl int topo1(ALG g)//求ve最早开始时间即最大路径长度 {     int k;     arcnode *p;     stackintt;     for(i1;in;i)         if(!indegree[i])//入度为零的结点入栈           t.push(i);     memset(ve,0,sizeof(ve));//初始化最早开始时间     int count0;//记录出栈元素个数判定拓扑排序是否有序     while(!t.empty())     {         jt.top();         t.pop();         s.push(j);         count;         for(pg.a[j].first;p;pp-next)         {             kp-adj;             if(!(--indegree[k]))//将新入度为零的节点进栈                 t.push(k);             if(ve[j]p-infove[k])//更新最大路径长度                 ve[k]ve[j]p-info;         }     }     if(countn)//拓扑不是有序的即有环         return 0;     return 1; } int topo2(ALG g)//求vL既不影响施工进度的情况下最晚的开始时间 {     int k;     arcnode *p;     if(!topo1(g)) return 0;//拓扑无序则结束     printf(%d\n,ve[n]);//关键路径的权值和     for(i1;in;i)//初始化最迟开始时间         vl[i]ve[n];     while(!s.empty())//按拓扑逆序求vl     {         js.top();         s.pop();         for(pg.a[j].first;p;pp-next)         {             kp-adj;             if(vl[k]-p-infovl[j])//更新最晚开始时间                 vl[j]vl[k]-p-info;         }     }     int flag0,a,b;     for(j1;jn;j)//求关键活动         for(pg.a[j].first;p;pp-next)     {         kp-adj;         int eve[j];         int lvl[k]-p-info;         if(el)//关键路径要求最早开始时间和最晚开始时间相同没有空余时间         {             if(flag0)//对输出的特殊处理要求字典序最小             {                 aj;bk;                 flag1;             }             else if(ajbk)                 bk;             else if(bj)//结束活动的分支时b作为活动的开始时。             {                 printf(%d %d\n,a,b);                 aj;                 bk;             }         }     }     printf(%d %d\n,a,b);     return 1; } int main() {     ALG g;     while(~scanf(%d%d,n,m))     {         memset(indegree,0,sizeof(indegree));         create(g);         topo2(g);     }     return 0; } #include bits/stdc.h using namespace std; struct edge{//存储边的结构体 int v,w,pre; }p[50086]; int n,m,next[10086],head[50086],cnt,vis[10086],dis[10086],i,u,v,w; int main(){ while(~scanf(%d %d,n,m)){ memset(head,-1,sizeof(head)); memset(next,0,sizeof(next));//节点i的后继为next[i] memset(vis,0,sizeof(vis)); memset(dis,0,sizeof(dis));//节点i到起点n的最长路径长度为dis[i] cnt0,vis[n]1; for(i0;im;i){ scanf(%d %d %d,v,u,w); p[cnt].vv,p[cnt].ww,p[cnt].prehead[u],head[u]cnt;//逆序添加有向边 } queueintq; q.push(n); while(!q.empty()){//SPFA算法求最长路径 uq.front(); q.pop(); vis[u]0; for(ihead[u];~i;ip[i].pre)//检查并更新节点u的所有前驱节点 if(dis[p[i].v]dis[u]p[i].w||(dis[p[i].v]dis[u]p[i].wnext[p[i].v]u)){ dis[p[i].v]dis[u]p[i].w,next[p[i].v]u;//设置节点v的后继为节点u if(!vis[p[i].v]){ q.push(p[i].v); vis[p[i].v]1; } } } printf(%d\n,dis[1]);//输出最长路径的长度 for(i1;next[i];inext[i])//输出1-n的最长路径 printf(%d %d\n,i,next[i]); } return 0; }
http://www.zqtcl.cn/news/976676/

相关文章:

  • wordpress 最新东莞seo技术培训
  • 上海微网站开发网站 选项卡 图标
  • 淘宝网站建设的目标什么做网站公司 营销
  • 360企业网站认证wordpress 个人照片
  • 韩国私人网站服务器创业做网站APP开发
  • 成都网站建设推来客网站系统报价wordpress 本地图片 图床
  • 跨境电商怎么做流程青岛网站建设seo
  • 怎么搭建网站平台网站建设相关文献
  • 网站前面的小图标怎么做wordpress文章页广告插件
  • 设计制作一个 个人主页网站淄博做网站的公司都有哪些
  • 10月哪个网站做电影票活动宁波设计公司有哪些
  • 网站建设的pest分析公司erp系统
  • 网站开发一般用哪个浏览器高端酒店网站模板
  • 响应式网站开发哪个好徐州关键字优化咨询
  • 企业建站都有什么网站宁波那家公司做网站好
  • 哪里有零基础网站建设教学培训网页制作要多少钱
  • 云南建站网站建设的编程技术
  • 知名的饰品行业网站开发wordpress镜像存储插件
  • 网站整体地图怎么做小榄公司网站建设
  • 体育西网站开发方案无锡锡山区建设局网站
  • 房地产 网站 欣赏建网站找谁
  • 网站创建一般创建哪种类型沈阳装修公司报价
  • 如何在网站后台做网页寻找赣州网站建设
  • 生态农庄网站模板志鸿优化网下载
  • 如何做企业网站广州企业宣传片
  • wordpress淘宝客建站舆情中心
  • 昆明做网站多少钱南宁网站建设培训班
  • 万网一台虚拟主机做多个网站wordpress畅言插件
  • 南宁网站建设优势辽宁大连直客部七部电话
  • 淮安网站建设报价.net网站制作