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

有哪些做分析图用的地图网站/陕西seo公司

有哪些做分析图用的地图网站,陕西seo公司,免费模板app下载,房地产市场传送门 题意:农夫的朋友前来拜访,于是他带领大家参观它的农场,农场里有N块地,其中农夫的家在1号地,而N号地有个很大的仓库。农场内有M条道路(双向通行),道路i连接着ai号地和bi号地,长度为ci。农…

传送门

题意:农夫的朋友前来拜访,于是他带领大家参观它的农场,农场里有N块地,其中农夫的家在1号地,而N号地有个很大的仓库。农场内有M条道路(双向通行),道路i连接着ai号地和bi号地,长度为ci。农夫希望按照从家里出发,经过若干地后达到仓库,然后再返回家中的顺序待朋友参观。如果要求往返不能经过同一道路两次,求参观路线总长度的最小值。

题解:只考虑去或者回的情况,那么问题只不过是无向图中两点之间的最短路而已。但现在既要去又要回,并且不能经过相同的道路的这一限制。那么,如果先计算去时的最短路,然后将所用的道路删去,再在剩下的图上计算回来时的最短路,这样是否可行呢?有很多反例,不总能找到最优结果,放弃把问题当作去和回的这种想法,转而将问题当作从1号顶点到N号顶点的两条没有公共边的路径,这样转化后,就不过是求流量为2的最小费用流了。

附上代码:

#include<iostream>
#include<cstdio>
#include<vector>
#include<queue>
#include<cstring>using namespace std;const int MAX_M=1e4+50;
const int MAX_V=1e3+50;
const int INF=0x3f3f3f3f;int N,M;
int a[MAX_M],b[MAX_M],c[MAX_M];
struct edge{int to,cap,cost,rev;edge(int _to,int _cap,int _cost,int _rev):to(_to),cap(_cap),cost(_cost),rev(_rev){}
};int V;
vector<edge>G[MAX_V];
int dist[MAX_V];
int prevv[MAX_V],preve[MAX_V];void add_edge(int from,int to,int cap,int cost)
{G[from].push_back(edge(to,cap,cost,G[to].size()));G[to].push_back(edge(from,0,-cost,G[from].size()-1));
}int min_cost_flow(int s,int t,int f)
{int res=0;while(f>0){fill(dist,dist+V,INF);dist[s]=0;bool update=true;while(update){update=false;for(int v=0;v<V;v++){if(dist[v]==INF){continue;}for(int i=0;i<G[v].size();i++){edge &e=G[v][i];if(e.cap>0&&dist[e.to]>dist[v]+e.cost){dist[e.to]=dist[v]+e.cost;prevv[e.to]=v;preve[e.to]=i;update=true;}}}}if(dist[t]==INF){return -1;}int d=f;for(int v=t;v!=s;v=prevv[v]){d=min(d,G[prevv[v]][preve[v]].cap);}f-=d;res+=d*dist[t];for(int v=t;v!=s;v=prevv[v]){edge &e=G[prevv[v]][preve[v]];e.cap-=d;G[v][e.rev].cap+=d;}}return res;
}void solve()
{int s=0,t=N-1;V=N;for(int i=0;i<M;i++){add_edge(a[i]-1,b[i]-1,1,c[i]);add_edge(b[i]-1,a[i]-1,1,c[i]);}printf("%d\n",min_cost_flow(s,t,2));
}int main()
{scanf("%d%d",&N,&M);for(int i=0;i<M;i++){scanf("%d%d%d",&a[i],&b[i],&c[i]);}solve();return 0;
}

 

http://www.lbrq.cn/news/973045.html

相关文章:

  • 企业营业执照怎么办理/什么是seo营销
  • 温州网站建设制作公司/网站综合排名信息查询
  • wordpress登陆不上/vue seo优化
  • 做网站找人/seo规范培训
  • 废物利用手工制作图片/百度搜索seo优化技巧
  • 云南建设银行招聘网站/搜索引擎原理
  • 青海 网站开发 图灵/职业技能培训
  • 石河子建设局网站/地推网
  • 做设计都有什么网站/正版seo搜索引擎
  • 网站如何做推广/优化大师免安装版
  • 网站建设需求 百度文库/免费做网站怎么做网站链接
  • 平面设计网站大全有哪些/网站运营工作内容
  • 怎样做网站吸引人/软文营销的特点有哪些
  • php做网站后台语言/网站建设品牌公司
  • 凉山州住房与城乡建设局网站/建网站怎么赚钱
  • wordpress登入后台/沈阳网站关键词优化公司
  • 建立企业网站要多少钱/seo数据统计分析工具有哪些
  • 无锡网站建设设计/企业营销策划方案
  • 利用jsp做网站/seo怎么赚钱
  • 做网站充值微信必须是企业/如何引流与推广
  • 免费做网站教程/十大网站平台
  • 企业网站建设排名口碑/windows7优化大师下载
  • 科技手抄报内容/东莞优化怎么做seo
  • 如何做网站反链/百度无锡营销中心
  • 传统设计公司网站/磁力链
  • 鄂州网站建设价格/市场营销八大营销模式
  • 沈阳高端网站/百度浏览器网址是多少
  • html5 国内网站建设/网站加速
  • 做短视频的网站收益/百度浏览器下载官方免费
  • 做设计网站/白山seo
  • Transformer是什么 - 李沐论文《Attention Is All You Need》精读
  • flutter下的webview适配rem问题
  • 如何把手机ip地址切换到外省
  • MIPI DSI(四) video 和 command 模式
  • 深入浅出Kafka Producer源码解析:架构设计与编码艺术
  • OPENPPP2 VEthernet 网络协议堆栈(CTCP)VNetStack 深度技术解析