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

集团网站改版方案做网页的软件h

集团网站改版方案,做网页的软件h,oracle自带网站开发,西宁市城中区建设局网站本题为一道有约束的分层图最短路问题。跟分层图最短路不一样的是,本题有一个连续 $k$ 短路不需要花费的一个约束条件,那么我们在传递状态的时候只需要特判一下,如果当前的已经使用了免费次数了,那么我们接下来我们松弛的时候就不需…

本题为一道有约束的分层图最短路问题。

跟分层图最短路不一样的是,本题有一个连续 $k$ 短路不需要花费的一个约束条件,那么我们在传递状态的时候只需要特判一下,如果当前的已经使用了免费次数了,那么我们接下来我们松弛的时候就不需要花费。

这里我们使用一个二维数组 $dis_{i,k}$ 表示当前到达第 $i$ 个节点,使用了 $k$ 次免费次数的最短路径,那么我们可以得到状态转移方程:

不需要花费时:$dis_{v,{k-1}} = \min(dis_{v,{k-1}}, dis_{u,k})$。

需要花费时:$dis_{v,k} = \min(dis_{v,k}, dis_{u,k} + w)$。

C++ 代码如下:

#include <bits/stdc++.h>
using namespace std;const int maxn = 2000005;
const int inf = 1047483647;struct node {int to, next, data;
};node edge[maxn];
int head[maxn], cnt, k, n, m;void add_edge(int from, int to, int data) {edge[++cnt].to = to;edge[cnt].data = data;edge[cnt].next = head[from];head[from] = cnt;
}int dis[1005][15];
bool vis[1005][15];struct heap {int node, data, step;heap(int n, int d, int s) : node(n), data(d), step(s) {}bool operator>(const heap& h) const {return data > h.data;}
};void dijkstra() {memset(vis, 0, sizeof(vis));memset(dis, 0x3f, sizeof(dis));dis[0][k] = 0;priority_queue<heap, vector<heap>, greater<heap>> q;q.push(heap(0, 0, k));while (!q.empty()) {int now = q.top().node;int step = q.top().step;q.pop();if (vis[now][step])continue;vis[now][step] = true;for (int i = head[now]; i != 0; i = edge[i].next) {int to = edge[i].to, data = edge[i].data;if (step < k && step > 0 && dis[to][step - 1] > dis[now][step]) {dis[to][step - 1] = dis[now][step];q.push(heap(to, dis[to][step - 1], step - 1));}else if (step == k || step == 0) {if (dis[to][step] > dis[now][step] + data) {dis[to][step] = dis[now][step] + data;q.push(heap(to, dis[to][step], step));}if (step == k && dis[to][step - 1] > dis[now][step]) {dis[to][step - 1] = dis[now][step];q.push(heap(to, dis[to][step - 1], step - 1));}}}}
}int main() {cin >> n >> k >> m;while (m--) {int x, y, z;cin >> x >> y >> z;add_edge(x, y, z);add_edge(y, x, z);}dijkstra();cout << min(dis[n - 1][k], dis[n - 1][0]) << endl;return 0;
}

http://www.dtcms.com/a/493929.html

相关文章:

  • 免费公司网站怎么做网站布局图片
  • 做网站还要做点手机吗正中路桥建设发展有限公司网站
  • 全网站开发是什么营销网站有哪些
  • 上海专业网站建设多少钱wordpress密码进入网站
  • 古田住房与建设局网站广昌网站建设
  • 什么网站值得做推广公司的网站可以采取哪些方式
  • 濮阳网站建设推广2w网站2w网站建设建设
  • 网站建设方案书备案注册域名哪个网站好
  • 做营销型网站公司深圳网站营销公司简介
  • 如何做影视剧网站下列哪个不是网络营销成熟阶段出现的网络营销方式
  • 泰州网站制作平台潮州专业网站建设制作
  • 永嘉县住房和城乡建设局网站网页代码编辑器
  • .net招聘网站怎么做网站收录了没有排名
  • 广东网站建设方便企业网站推广建议
  • 化妆网站建设的目的大流量网站建设
  • iis 多网站信誉楼线上商城小程序
  • 一个网站需要多少钱深圳哪里做网站好
  • 如何在网站上做网页链接正在备案怎么建网站
  • 网站开发项目具体的流程设计接单网站大全
  • 做外汇网站做什么类型网站好网站专题策划案例
  • 网站建设企业网站价格企业服务公司经营范围是什么
  • 网站开发主要包括哪些方面建筑设计软件有哪些
  • 免费网站建设联系电话昆明做网站
  • vs2013可以做网站么优质的成都网站建设推
  • 网站备案信息加到哪里西宁哪家公司做网站
  • 手机触屏网站深圳在线直播
  • 顺的网站建设服务建站资讯
  • 网站做动态图片用云空间制作网站
  • 深圳外贸网站制作美的地产集团官方网站建设
  • 网站不备案不能用吗网站备案被注销