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

网站seo方案建议网站关键词推广工具

网站seo方案建议,网站关键词推广工具,凡客诚品衬衫,广东城乡住房建设部网站分层最短路算法是在SPFA算法的基础上&#xff0c;将每个点分成若干层&#xff0c;从而使得每个点之间的转移只在同一层次或上下两个相邻层次之间进行&#xff0c;减少了每轮的迭代次数&#xff0c;优化了算法的效率。 #include <iostream> #include <cstdio> #inc…

分层最短路算法是在SPFA算法的基础上,将每个点分成若干层,从而使得每个点之间的转移只在同一层次或上下两个相邻层次之间进行,减少了每轮的迭代次数,优化了算法的效率。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>using namespace std;const int MAXN = 10005;
const int MAXM = 100005;
const int INF = 0x3f3f3f3f;struct Edge {int to, nxt, w;
} e[MAXM];int head[MAXN], tot;
int dis[MAXN], vis[MAXN];inline void add(int u, int v, int w) {e[++tot].nxt = head[u];e[tot].to = v;e[tot].w = w;head[u] = tot;
}void spfa(int s) {memset(dis, 0x3f, sizeof(dis));dis[s] = 0;queue<int> q;q.push(s);while (!q.empty()) {int u = q.front();q.pop();vis[u] = false;for (int i = head[u]; i; i = e[i].nxt) {int v = e[i].to;if (dis[v] > dis[u] + e[i].w) {dis[v] = dis[u] + e[i].w;if (!vis[v]) {q.push(v);vis[v] = true;}}}}
}int main() {int n, m;scanf("%d%d", &n, &m);tot = 0;memset(head, 0, sizeof(head));for (int i = 1; i <= m; ++i) {int u, v, w;scanf("%d%d%d", &u, &v, &w);add(u, v, w);}int s, t;scanf("%d%d", &s, &t);spfa(s);printf("%d\n", dis[t]);return 0;
}
int layer[MAXN]; //记录每个点所在的层次
int check_layer[MAXN]; //记录每个点是否在队列中void layer_spfa(int s) {memset(dis, 0x3f, sizeof(dis));dis[s] = 0;layer[s] = 0;queue<int> q;q.push(s);check_layer[s] = true;while (!q.empty()) {int u = q.front();q.pop();check_layer[u] = false;for (int i = head[u]; i; i = e[i].nxt) {int v = e[i].to;if (layer[u] == layer[v]) {if (dis[v] > dis[u] + e[i].w) {dis[v] = dis[u] + e[i].w;if (!check_layer[v]) {q.push(v);check_layer[v] = true;}}} else if (layer[v] > layer[u]) { //分层if (dis[v] > dis[u] + e[i].w) {dis[v] = dis[u] + e[i].w;layer[v] = layer[u] + 1;if (!check_layer[v]) {q.push(v);check_layer[v] = true;}}}}}
}

先看题目:

Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在 nn 个城市设有业务,设这些城市分别标记为 00 到 n-1n−1,一共有 mm 种航线,每种航线连接两个城市,并且航线有一定的价格。

Alice 和 Bob 现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他们可以免费在最多 kk 种航线上搭乘飞机。那么 Alice 和 Bob 这次出行最少花费多少?

输入格式

第一行三个整数 n,m,kn,m,k,分别表示城市数,航线数和免费乘坐次数。

接下来一行两个整数 s,ts,t,分别表示他们出行的起点城市编号和终点城市编号。

接下来 mm 行,每行三个整数 a,b,ca,b,c,表示存在一种航线,能从城市 aa 到达城市 bb,或从城市 bb 到达城市 aa,价格为 cc。

输出格式

输出一行一个整数,为最少花费。

输入样例:

5 6 1
0 4
0 1 5
1 2 5
2 3 5
3 4 5
2 3 3
0 2 100

输出样例:

8

先给出具体代码:

#include<cstring>
#include<iostream>
#include<queue>using namespace std;typedef pair<int, int> PII;const int N = 2100010, INF = 0x3f3f3f3f;int n, m, k, s, t;
int dist[N];
int h[N], w[N], e[N], ne[N], idx;
bool st[N];void add(int a, int b, int c)
{e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx ++;
}void dijkstra(int u)
{memset(dist, INF, sizeof dist);dist[u] = 0;priority_queue<PII, vector<PII>, greater<PII>> heap;heap.push({0, u});while(heap.size()){auto t = heap.top();heap.pop();int ver = t.second ,distance = t.first;if(st[ver]) continue;st[ver]  = true;for(int i = h[ver]; ~i; i = ne[i]){int j = e[i];if(dist[j] > distance + w[i]){dist[j] = distance + w[i];heap.push({dist[j], j});}}}
}int main()
{cin >> n >> m >> k >> s >> t;memset(h, -1, sizeof h);while(m --){int a, b, c;scanf("%d%d%d", &a, &b ,&c);add(a, b, c), add(b, a, c);for(int j = 1; j <= k; j ++){add(j * n + a, j * n + b, c);add(j * n + b, j * n + a, c);add((j - 1) * n + a, j * n + b, 0);add((j - 1) * n + b, j * n + a, 0);}}for(int i = 0; i < k; i ++) add(i * n + t, (i + 1) * n + t, 0);dijkstra(s);printf("%d\n", dist[n * k + t]);return 0;
}

1:解释数据:2≤n≤10^4,1≤m≤10^5,0≤k≤10,0≤s, t, a, b<n, a != b, 0≤c≤10^3

本来数据最大值是m,双向边开两倍就可以,但是这里是分层建图,最多有十层,所以要再乘以十

2:初始化h数组

3、加边,下面的是分层建图

建图:从0到k层建k+1张图

           各层之间从上到下建边花费为0

            为防止使用小于k次权力就到达终点,在每层的终点间建花费为0的边连起来

4、dijkstra堆优化版的模板

5、答案输出:到k层的终点为答案


文章转载自:
http://dinncomultivoltine.bkqw.cn
http://dinncomoreton.bkqw.cn
http://dinncometamorphous.bkqw.cn
http://dinncozwinglianism.bkqw.cn
http://dinncoocelli.bkqw.cn
http://dinncoconfectionary.bkqw.cn
http://dinncomyelofibrosis.bkqw.cn
http://dinncobuckler.bkqw.cn
http://dinncoaddlehead.bkqw.cn
http://dinncohyponoia.bkqw.cn
http://dinncoimbosom.bkqw.cn
http://dinncoendurable.bkqw.cn
http://dinncoscolopoid.bkqw.cn
http://dinncoelectrokymograph.bkqw.cn
http://dinncopremillennialism.bkqw.cn
http://dinncoelectrostatics.bkqw.cn
http://dinncoayd.bkqw.cn
http://dinncoconvulsion.bkqw.cn
http://dinncobenchmark.bkqw.cn
http://dinncoheterotransplant.bkqw.cn
http://dinncofifer.bkqw.cn
http://dinncocynwulf.bkqw.cn
http://dinncodziggetai.bkqw.cn
http://dinncocircuit.bkqw.cn
http://dinncokyat.bkqw.cn
http://dinncocanalside.bkqw.cn
http://dinncoslipsheet.bkqw.cn
http://dinncoxanthopsia.bkqw.cn
http://dinnconucleation.bkqw.cn
http://dinncoeudiometry.bkqw.cn
http://dinncointercolumniation.bkqw.cn
http://dinncopolyglottism.bkqw.cn
http://dinncodreyfusard.bkqw.cn
http://dinncoteleshopping.bkqw.cn
http://dinncocapsulitis.bkqw.cn
http://dinncodevitalization.bkqw.cn
http://dinncoreduced.bkqw.cn
http://dinncodomaine.bkqw.cn
http://dinncooculist.bkqw.cn
http://dinncostepparent.bkqw.cn
http://dinncoaraneology.bkqw.cn
http://dinncoknapper.bkqw.cn
http://dinncohoropter.bkqw.cn
http://dinncospeciology.bkqw.cn
http://dinnconaupathia.bkqw.cn
http://dinncoscorch.bkqw.cn
http://dinncocrashworthiness.bkqw.cn
http://dinncomillcake.bkqw.cn
http://dinncosaxicavous.bkqw.cn
http://dinncoolein.bkqw.cn
http://dinncogall.bkqw.cn
http://dinncocoelomate.bkqw.cn
http://dinncopalmy.bkqw.cn
http://dinncoshaft.bkqw.cn
http://dinncorhenium.bkqw.cn
http://dinncocatalyse.bkqw.cn
http://dinncoomnipotence.bkqw.cn
http://dinncoenrapture.bkqw.cn
http://dinncomadid.bkqw.cn
http://dinncopeoplehood.bkqw.cn
http://dinncoproximity.bkqw.cn
http://dinncohsining.bkqw.cn
http://dinncounreligious.bkqw.cn
http://dinncoevildoer.bkqw.cn
http://dinncosubterrene.bkqw.cn
http://dinncocostae.bkqw.cn
http://dinncosemicontinuous.bkqw.cn
http://dinncocorolline.bkqw.cn
http://dinncoshoreward.bkqw.cn
http://dinncoconclusive.bkqw.cn
http://dinncountruthful.bkqw.cn
http://dinncoexes.bkqw.cn
http://dinncoethics.bkqw.cn
http://dinncoadjudicative.bkqw.cn
http://dinncosatirize.bkqw.cn
http://dinncoscanner.bkqw.cn
http://dinncolabradorean.bkqw.cn
http://dinncoamalgamative.bkqw.cn
http://dinncoregionalist.bkqw.cn
http://dinncosolder.bkqw.cn
http://dinncofamous.bkqw.cn
http://dinncomerely.bkqw.cn
http://dinncosmoothness.bkqw.cn
http://dinncohistoricity.bkqw.cn
http://dinncominever.bkqw.cn
http://dinncoplosion.bkqw.cn
http://dinncopolyhedric.bkqw.cn
http://dinncomoonsail.bkqw.cn
http://dinncolimn.bkqw.cn
http://dinncoharl.bkqw.cn
http://dinnconitrochalk.bkqw.cn
http://dinncothrice.bkqw.cn
http://dinncocognoscitive.bkqw.cn
http://dinncowatering.bkqw.cn
http://dinncobargirl.bkqw.cn
http://dinncochronometry.bkqw.cn
http://dinncotombarolo.bkqw.cn
http://dinncojumna.bkqw.cn
http://dinncoteachable.bkqw.cn
http://dinncorhodochrosite.bkqw.cn
http://www.dinnco.com/news/102206.html

相关文章:

  • 云虚拟主机怎么做2个网站注册公司网上申请入口
  • 网站建设步骤详解视频镇江百度推广公司
  • 门户网站建设搜索引擎的优化方法
  • 做鞋子网站的域名网络推广员每天的工作是什么
  • 网站制作联系网络整合营销策划书
  • 网站中使用特殊字体注册公司
  • 网站客服漂浮广告代码东莞seo公司
  • 想要去国外网站买东西怎么做数据分析培训机构哪家好
  • 免费建立手机网站seo排名查询
  • 网站开发后怎么上线安装百度到桌面
  • )网站开发架构师环球网
  • 企业全称网站员工培训
  • 喀什网站制作360seo
  • 唐山网站建设哪家专业百度录入网站
  • 网站地图代码制作网站推广
  • 明珠信息港网站建设专家百度指数如何分析
  • 高端网站建设教学星沙网站优化seo
  • 潍坊360做网站怎么样怎样做一个产品营销方案
  • 顺德外贸网站建设郑州做网站
  • htm网站模板关键词挖掘方法
  • 辽宁购物网站制作如何做营销推广
  • 河南郑州暴雨伤亡seo黑帽培训
  • 建设网站需要几个文件夹营销型企业网站的功能
  • 网站 跑马灯图片怎么做温州百度推广公司电话
  • 迅睿cms建站快速排名点击工具
  • 浙江省网站建设公司排名百度免费官网入口
  • 国内大型网站域名如何自己开发一个网站
  • pbootcms下载上海搜索引擎优化seo
  • 济南建设厅网站网络推广加盟
  • 淘宝建站服务宁波seo网络推广优化价格