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

网站建设商务通什么意思/seo优化师就业前景

网站建设商务通什么意思,seo优化师就业前景,南宁做网页推广有哪些公司,网站开发需要书籍题意:N个点,每个点有一个层号L,相邻的两层 Li 与 Li1 之间的距离为C。另外给出M条无向边,求从点1到点N的最短路。 分析:同一层之间的两点距离并不是0,这是一个小坑。依次把相邻两层的所有点连边会导致复杂度…

题意:N个点,每个点有一个层号L,相邻的两层 Li 与 Li+1 之间的距离为C。另外给出M条无向边,求从点1到点N的最短路。

分析:同一层之间的两点距离并不是0,这是一个小坑。依次把相邻两层的所有点连边会导致复杂度很高。可以将每一层看作一个点,但是把它和层中的点连边会导致同层的两点距离为0。

为了避免这种情况,可以将每层拆作两点,表示入点和出点。所以所建图中一共有3N个点。1~N为原图中的点,N+1~2*N为每层出点,2*N+1~3*N为每层入点。对每个在该层中的点u,将其连至出点N+i;再将入点2N+i连至u。再将相邻两层的出点入点对应连接。最后跑一下Dijkstra。

#include<iostream>
#include<cstring>
#include<stdio.h>
#include<vector>
#include<string>
#include<algorithm>
#include<queue>
#include<cmath>
using namespace std;
typedef long long LL;
const int maxn = 3e5+5;
const LL INF = 1ll<<60;
struct Edge{int to,next;LL val;
};
struct HeapNode{LL d;           //费用或路径int u;bool operator < (const HeapNode & rhs) const{return d > rhs.d;}  
};
struct Dijstra{int n,m,tot;Edge edges[maxn<<4];bool used[maxn];LL d[maxn];int head[maxn];void init(int n){this->n = n;this->tot=0;memset(head,-1,sizeof(head));}void Addedge(int u,int v ,LL dist){edges[tot].to = v;edges[tot].val = dist;edges[tot].next = head[u];head[u] = tot++;}void dijkstra(int s){   memset(used,0,sizeof(used));priority_queue<HeapNode> Q;for(int i=0;i<=n;++i)    d[i]=INF;d[s]=0;Q.push((HeapNode){0,s});while(!Q.empty()){HeapNode x =Q.top();Q.pop();int u =x.u;if(used[u]) continue;used[u]= true;for(int i=head[u];~i;i=edges[i].next){Edge & e = edges[i];if(d[e.to] > d[u] + e.val){d[e.to] = d[u] +e.val;Q.push((HeapNode){d[e.to],e.to});}}}}
}G;int lay[maxn];//#define LOCAL
int main()
{#ifdef LOCALfreopen("in.txt","r",stdin);freopen("out.txt","w",stdout);#endifint N,M,T,u,v,cas=1;LL tmp,C;scanf("%d",&T);while(T--){scanf("%d%d%lld",&N,&M,&C);G.init(3*N);for(int i=1;i<=N;++i){scanf("%d",&tmp);G.Addedge(i,tmp+N,0);           //1~N为层,N~2*N为出点,2*N~3*N为入点G.Addedge(tmp+2*N,i,0);}for(int i=1;i<=N-1;++i){G.Addedge(N+i,2*N+i+1,C);       //将相邻两层出点入点对应连接G.Addedge(N+i+1,2*N+i,C);}for(int i=1;i<=M;++i){scanf("%d%d%lld",&u,&v,&tmp);G.Addedge(u,v,tmp);G.Addedge(v,u,tmp);}G.dijkstra(1);if(G.d[N]==INF) G.d[N]=-1;printf("Case #%d: %lld\n",cas++,G.d[N]);}  return 0;
}

 

转载于:https://www.cnblogs.com/xiuwenli/p/9316605.html

http://www.jmfq.cn/news/5099473.html

相关文章:

  • 自己做的网站打开太慢/代刷网站推广链接免费
  • 网站建设服务条款/网址生成短链接
  • 做国外网站填写价格按人民币写吗/手机网页设计
  • 到哪里找人做网站/百度关键词统计
  • 网站建设公司怎么盈/邯郸网站优化公司
  • 石家庄网站建设石家庄/刚刚刚刚刚刚好痛
  • 音乐外链网站/线上推广怎么做
  • 企业网站优化哪家好/app下载推广平台
  • 有专门做几口农机的网站/app开发公司推荐
  • 做pc端网站市场/b2b电子商务平台
  • wordpress 上传中文文件乱码/seo俱乐部
  • 段友做的看电影网站/淮北seo
  • 网络营销推广方法公司推荐/aso优化方法
  • 新网站建设咨询/推广引流怎么做
  • o2o商城网站建设供应/网络销售怎么干
  • 营销建设网站/白杨seo教程
  • 网站建设 字体版权/seo教学实体培训班
  • 深圳定制网站建设/网络推广渠道有哪些
  • 如何做网站专题/优化关键词排名seo
  • 做赌博网站会被判多久/互联网宣传方式有哪些
  • 做短视频网站用哪家cms/百度网站优化工具
  • 做pc端网站多少钱/企业seo排名有 名
  • 网站建设渠道代理任务书/公司建网站流程
  • 新闻门户网站源码/淘宝代运营公司十大排名
  • 做旅游广告在哪个网站做效果好/台州做优化
  • 龙湾区住房与城乡建设局网站/艺人百度指数排行榜
  • 专门做淘宝优惠券的网站/百度免费推广平台
  • 做网站需要了解哪些知识/口碑营销的形式
  • 南京市住宅建设总公司网站/电商网站seo
  • 做网站容易 但运营难/怎么联系百度推广