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

中文旅游网站html模板杭州网络公司建网站

中文旅游网站html模板,杭州网络公司建网站,网站架构搭建,海南省住房公积金管理局网上办事大厅【题目背景】 开学了#xff0c;小奇在回地球的路上#xff0c;遇到了一个棘手的问题。 【问题描述】 简单来说#xff0c;它要从标号为 1 的星球到标号为 n 的星球#xff0c;某一些星球之间有航线。 由于超时空隧道的存在#xff0c;从一个星球到另一个星球时间可能会倒…【题目背景】   开学了小奇在回地球的路上遇到了一个棘手的问题。 【问题描述】   简单来说它要从标号为 1 的星球到标号为 n 的星球某一些星球之间有航线。 由于超时空隧道的存在从一个星球到另一个星球时间可能会倒流而且从星 球 a 到 b 耗费的时间和星球 b 到 a 耗费的时间不一定相同。宇宙法规定“禁止在出发时间前到达目的地”。每艘飞船上都有速度调节装置可以调节飞行的时间。其功能可以使得整次航程中所有两星球间的飞行时间增加或减少相同的整数值。你的任务是帮助它调整速度调节器找出一条最短时间到达目的地的路径。 【输入格式】   输入文件包含多组数据第 1 个数为 T表示数据组数。对于每组数据输入第 1 行为两个正整数 nm为星球的个数和星球间的路线数。接下来 m 行每行三个整数 ij 和 t表示由星球 i 到星球 j 飞行的时间为 t。由 i 到 j 最多只会有一条飞行线路。 【输出格式】   输出文件共 T 行每组数据输出一行。   如果可以通过调节速度调节器完成任务则输出一个非负整数表示由星球1到星球 n 的最短时间。注意最短时间要大于或者等于 0。如果不能由星球 1 到达星球 n则输出-1。 【样例输入】   1   4 5   1 2 1   1 3 1   2 3 -3   3 1 1   3 4 1 【样例输出】   2 【样例解释】   把速度控制器的值设为 1,相当于每个时间值加 1,得到的最短路径为 1→2→3→4。所需时间为 2(-2)22。 【数据范围】   12 号测试点保证所有星球出度不超过1   34 号测试点n10   56 号测试点-100t100   对于 100%的数据 T10n100mn*(n-1)-100000t100000   数据随机和构造结合生成 【解析】   将此题简化后可得如下模型给定一张有向图有负边权,可以使每一条边加上或减去一个值t使从1到n的最短路径最小且非负。   经过分析可以知道若给每一条边加上一个值t0后1到n的最短路为负那么对于任意tt0都有最短路径仍为负。由此可以想到二分答案。t的值域为-100000到100000那么二分的左右边界就定好了。然后每次都用SPFA检验最短路径是否大于等于0然后......死循环了。   为什么呢假设有t10那么图中就有几率出现负权环那么就没有最短路。所以要在SPFA中加入判断负权环的内容。但即使这样仍会超时。那么我们继续思考怎么优化。显然如果一个点与1或n不连通那么它对答案是没有贡献的。我们先从1出发遍历整张图把无法到达的点删去。然后再从1能够到达的点出发如果该点不能到达n也从集合中删去。在“砍图”之后虽然时间已经优化了但仍然不够。题目中有一句话是这么说的 数据随机和构造结合生成   那是不是会卡SPFA呢所以一个神奇的操作就出来了深度优先搜索版SPFA。用DFS-SPFA去判断负权环即可。 【代码】 #include iostream #include cstdio #include cstring #include queue #define N 102 #define M 200002 using namespace stdint head[N],ver[M],nxt[M],edge[M],c; int t,n,m,i,cnt[N],dis[N]; bool e[N],vis[N],in[N]; queueint q; int read() {char cgetchar();int w0,f1;while(c0||c9){if(c-) f-1;cgetchar();}while(c9c0){ww*10c-0;cgetchar();}return w*f; } void insert(int x,int y,int z) {c;ver[c]y;edge[c]z;nxt[c]head[x];head[x]c; } bool dfs_SPFA(int x,int s) {vis[x]1;for(int ihead[x];i;inxt[i]){int yver[i];if(dis[y]dis[x]edge[i]se[y]){if(vis[y]) return 1;dis[y]dis[x]edge[i]s;if(dfs_SPFA(y,s)) return 1;}}vis[x]0;return 0; } void SPFA(int s) {memset(dis,0x3f,sizeof(dis));memset(in,0,sizeof(in));q.push(1);in[1]1;dis[1]0;while(!q.empty()){int xq.front();q.pop();for(int ihead[x];i;inxt[i]){int yver[i];if(dis[x]edge[i]sdis[y]e[y]){dis[y]dis[x]edge[i]s;if(!in[y]){in[y]1;q.push(y);}}}in[x]0;} } void dfs(int x) {vis[x]1;for(int ihead[x];i;inxt[i]){int yver[i];if(!vis[y]) dfs(y);} } bool check(int x) {for(int i1;in;i){if(e[i]){memset(dis,0x3f,sizeof(dis));memset(vis,0,sizeof(vis));if(dfs_SPFA(i,x)) return 0;}}SPFA(x);if(dis[n]0) return 1;return 0; } int main() {freopen(earth.in,r,stdin);freopen(earth.out,w,stdout);cint;while(t--){memset(e,1,sizeof(e));memset(head,0,sizeof(head));memset(vis,0,sizeof(vis));c0;nread();mread();for(i1;im;i){int u,v,w;uread();vread();wread();insert(u,v,w);}dfs(1);for(i1;in;i){if(!vis[i]) e[i]0;}for(i1;in;i){if(e[i]){memset(vis,0,sizeof(vis));dfs(i);if(!vis[n]) e[i]0;}}int l-100000,r100000,mid,ans;while(lr){mid(lr)/2;if(check(mid)){ansdis[n];rmid-1;}else lmid1;}if(ans1e9) cout-1endl;else coutansendl;}fclose(stdin);fclose(stdout);return 0; } 转载于:https://www.cnblogs.com/LSlzf/p/10391754.html
http://www.zqtcl.cn/news/79805/

相关文章:

  • 百度竞价网站源码服装网站建设进度及实施过程
  • 3g微网站是什么黑龙江建设教育网站
  • 做信息采集的网站成都计算机培训机构哪个最好
  • 中山网站建设方案wordpress修改页面固定连接
  • 廊坊企业网站外包青岛网站设计公司在哪找
  • 数据库网站甘肃三轮建设监理网站
  • 五和网站建设钉子wordpress主题
  • 上海网站seo排名优化绍兴酒店网站建设
  • 古典网站案例汕头老城
  • 公司怎么建设网站wordpress企业免费主题是什么意思
  • 做网站 工资高吗免费网页申请注册
  • 物联网对企业网站建设的要求晋城购物网站开发设计
  • 个人域名备过案了做电影网站会查吗做网站挣钱吗现在
  • 哪个网站可以做网红公司网站制作可以使用开源系统吗
  • 深圳专业建设网站服务河南的网络推广公司
  • 南京哪公司建设网站autumn wordpress
  • 上海企业网站制作报价管理咨询公司名字起名大全
  • 响应式网站建设开发公司wordpress 404插件
  • 政务网站建设合同网站开发培训太原
  • .net 网站开发书籍建立一个网站需要花多少钱
  • 购物网站难做吗购买网站域名多少钱
  • 泉州市华泰建设工程有限公司网站常州微信网站建设市场
  • 携程网站建设全国新增确诊病例
  • 手把手wordpress仿站五原网站建设
  • 网站建设与维护设计大作业常德 网站建设
  • 分切机网站建设管理案例网站
  • 全flash网站源码wordpress mp3
  • 无锡网站设计济南百度公司
  • 阿里云 网站根目录wordpress主题+插件
  • 运城网站开发商丘网站制作电话