网站怎么申请微信认证wordpress后台如何设置为中文

news/2025/9/28 0:38:03/文章来源:
网站怎么申请微信认证,wordpress后台如何设置为中文,wordpress 翻译软件,沈阳网官方网站求单源最短路的SPFA算法的全称是#xff1a;Shortest Path Faster Algorithm。 SPFA算法是西南交通大学段凡丁于1994年发表的。 从名字我们就可以看出#xff0c;这种算法在效率上一定有过人之处。 很多时候#xff0c;给定的图存在负权边#xff0c;这时类似… 求单源最短路的SPFA算法的全称是Shortest Path Faster Algorithm。      SPFA算法是西南交通大学段凡丁于1994年发表的。     从名字我们就可以看出这种算法在效率上一定有过人之处。      很多时候给定的图存在负权边这时类似Dijkstra等算法便没有了用武之地而Bellman-Ford算法的复杂度又过高SPFA算法便派上用场了。有人称spfa算法是最短路的万能算法。     简洁起见我们约定有向加权图G不存在负权回路即最短路径一定存在。当然我们可以在执行该算法前做一次拓扑排序以判断是否存在负权回路。     我们用数组dis记录每个结点的最短路径估计值可以用邻接矩阵或邻接表来存储图G推荐使用邻接表。 spfa的算法思想动态逼近法     设立一个先进先出的队列q用来保存待优化的结点优化时每次取出队首结点u并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作如果v点的最短路径估计值有所调整且v点不在当前的队列中就将v点放入队尾。这样不断从队列中取出结点来进行松弛操作直至队列空为止。      松弛操作的原理是著名的定理“三角形两边之和大于第三边”在信息学中我们叫它三角不等式。所谓对结点i,j进行松弛就是判定是否dis[j]dis[i]w[i,j]如果该式成立则将dis[j]减小到dis[i]w[i,j]否则不动。      下面举一个实例来说明SFFA算法是怎样进行的 和广搜bfs的区别     SPFA 在形式上和广度(宽度)优先搜索非常类似不同的是bfs中一个点出了队列就不可能重新进入队列但是SPFA中一个点可能在出队列之后再次被放入队列也就是一个点改进过其它的点之后过了一段时间可能本身被改进(重新入队)于是再次用来改进其它的点这样反复迭代下去。 算法的描述 void spfa(s); //求单源点s到其它各顶点的最短距离for i1 to n do { dis[i]∞; vis[i]false; } //初始化每点到s的距离不在队列dis[s]0; //将dis[源点]设为0vis[s]true; //源点s入队列head0; tail1; q[tail]s; //源点s入队, 头尾指针赋初值while headtail do {head1; //队首出队vq[head]; //队首结点vvis[v]false; //释放对v的标记可以重新入队for 每条边(v,i) //对于与队首v相连的每一条边if (dis[i]dis[v]a[v][i]) //如果不满足三角形性质dis[i] dis[v] a[v][i] //松弛dis[i]if (vis[i]false) {tail1; q[tail]i; vis[i]true;} //不在队列则加入队列} 最短路径本身怎么输出     在一个图中我们仅仅知道结点A到结点E的最短路径长度有时候意义不大。这个图如果是地图的模型的话在算出最短路径长度后我们总要说明“怎么走”才算真正解决了问题。如何在计算过程中记录下来最短路径是怎么走的并在最后将它输出呢     我们定义一个path[]数组path[i]表示源点s到i的最短路程中结点i之前的结点的编号(父结点)我们在借助结点u对结点v松弛的同时标记下path[v]u记录的工作就完成了。     如何输出呢我们记录的是每个点前面的点是什么输出却要从最前面到后面输出这很好办递归就可以了  c code: void printpath(int k){if (path[k]!0) printpath(path[k]);cout k ; }pascal code: procedure printpath(k:longint);beginif path[k]0 then printpath(path[k]);write(k, );end;spfa算法模板(邻接矩阵) c code: void spfa(int s){for(int i0; in; i) dis[i]99999999; //初始化每点i到s的距离dis[s]0; vis[s]1; q[1]s; 队列初始化,s为起点int i, v, head0, tail1;while (headtail){ 队列非空head; vq[head]; 取队首元素vis[v]0; 释放队首结点因为这节点可能下次用来松弛其它节点重新入队for(i0; in; i) 对所有顶点if (a[v][i]0 dis[i]dis[v]a[v][i]){ dis[i] dis[v]a[v][i]; 修改最短路if (vis[i]0){ 如果扩展结点i不在队列中入队tail;q[tail]i;vis[i]1;}}} }pascal code: procedure spfa(s:longint);var i,j,v,head,tail:longint;beginfor i:0 to n do dis[i]:99999999;dis[s]:0; vis[s]:true; q[1]:s;head:0;tail: 1;while headtail dobegininc(head);v:q[head];vis[v]:false;for i:0 to n doif dis[i]dis[v]a[v,i] thenbegindis[i]: dis[v]a[v,i];if not vis[i] thenbegininc(tail);q[tail]:i;vis[i]:true;end;end;end;end; 【程序1】畅通工程 (laoj1138) 某省自从实行了很多年的畅通工程计划后终于修建了很多路。不过路多了也不好每次要从一个城镇到另一个城镇时都有许多种道路方案可以选择而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。      现在已知起点和终点请你计算出要从起点到终点最短需要行走多少距离。 输入格式     第一行包含两个正整数N和M(0N200,0M1000)分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0N-1编号。     接下来是M行道路信息。每一行有三个整数A,B,X(0A,BN,A!B,0X10000),表示城镇A和城镇B之间有一条长度为X的双向道路。      再接下一行有两个整数S,T(0S,TN)分别代表起点和终点。 输出格式     输出最短需要行走的距离。如果不存在从S到T的路线就输出-1。 样例输入1 3 3 0 1 1 0 2 3 1 2 1 0 2 样例输入2 3 1 0 1 1 1 2  样例输出1 2 样例输出2 -1 【分析】 注意本题可能有结点为0的顶点我就在这上面wa了很多次。并且有可能两个城镇之间有多条道路我们要保留最小的那条。   pascal code(邻接矩阵) var i,n,m,s,t,x,y,z:longint; s:起点;t:终点a,b:array[0..201,0..201] of longint; b[x,c]存与x相连的第c个边的另一个结点yq:array[0..10001] of integer; 队列vis:array[0..201] of boolean; 是否入队的标记dis:array[0..201] of longint; 到起点的最短路 procedure spfa(s:longint);var i,j,v,head,tail:longint;beginfillchar(q,sizeof(q),0);fillchar(vis,sizeof(vis),false);for i:0 to n do dis[i]:99999999;dis[s]:0; vis[s]:true; q[1]:s; 队列的初始状态,s为起点head:0;tail: 1;while headtail do 队列不空begininc(head);v:q[head]; 取队首元素vis[v] : false; 释放结点一定要释放掉因为这节点有可能下次用来松弛其它节点for i:1 to b[v,0] doif dis[b[v,i]]dis[v]a[v,b[v,i]] thenbegindis[b[v,i]]:dis[v]a[v,b[v,i]]; 修改最短路if not vis[b[v,i]] then 扩展结点入队begininc(tail);q[tail]:b[v,i];vis[b[v,i]]:true;end;end;end;end; beginread(n, m); //n结点数;m边数fillchar(a,sizeof(a),0);for i:1 to m dobeginreadln(x,y,z); x,y一条边的两个结点;z这条边的权值if (a[x,y]0)and(za[x,y]) then continue;如果两顶点间有多条边保留最小的一条inc(b[x,0]);b[x,b[x,0]]:y;a[x,y]:z; b[x,0]以x为一个结点的边的条数inc(b[y,0]);b[y,b[y,0]]:x;a[y,x]:z;end;readln(s,t); 读入起点与终点spfa(s);if dis[t]99999999 then writeln(dis[t]) else writeln(-1); end. C code(邻接矩阵) #include iostream using namespace std; int q[10001], dis[201], a[201][201], b[201][201]; bool vis[201]; int n, m, s, t; void spfa(int s){for(int i0; in; i) dis[i]99999999;dis[s]0; vis[s]1; q[1]s; 队列的初始状态,s为起点int i, v, head0, tail1; while (headtail){ 队列不空head;vq[head]; 取队首元素vis[v]0; 释放结点一定要释放掉因为这节点有可能下次用来松弛其它节点for(i1; ib[v][0]; i)if (dis[b[v][i]] dis[v]a[v][b[v][i]]){dis[b[v][i]] dis[v]a[v][b[v][i]]; 修改最短路if (vis[b[v][i]]0){ 扩展结点入队tail;q[tail]b[v][i];vis[b[v][i]]1;}}} } int main(){int x, y, z;cin n m; //n结点数;m边数for(int i0; im; i){cin x y z; x,y一条边的两个结点;z这条边的权值if (a[x][y]!0 za[x][y]) continue;如果两顶点间有多条边保留最小的一条b[x][0]; b[x][b[x][0]]y; a[x][y]z; b[x,0]以x为一个结点的边的条数b[y][0]; b[y][b[y][0]]x; a[y][x]z;}cin s t; 读入起点与终点spfa(s);if (dis[t]!99999999) cout dis[t] endl;else cout -1 endl;return 0; }spfa优化——深度优先搜索dfs 在上面的spfa标准算法中每次更新松弛一个结点u时如果该结点不在队列中那么直接入队。     但是有负环时上述算法的时间复杂度退化为O(nm)。能不能改进呢     那我们试着使用深搜核心思想为每次从更新一个结点u时从该结点开始递归进行下一次迭代。 使用dfs优化spfa算法 pascal code procedure spfa(s:longint);var i:longint;beginfor i:1 to b[s,0] do //b[s,0]是从顶点s发出的边的条数if dis[b[s,i]]dis[s]a[s,b[s,i]] then //b[s,i]是从s发出的第i条边的另一个顶点begindis[b[s,i]]:dis[s]a[s,b[s,i]];spfa(b[s,i]);end;end; C code void spfa(int s){for(int i1; ib[s][0]; i) //b[s,0]是从顶点s发出的边的条数if (dis[b[s][i]dis[s]a[s][b[s][i]]){ //b[s,i]是从s发出的第i条边的另一个顶点dis[b[s][i]dis[s]a[s][b[s][i]];spfa(b[s][i]);} }相比队列深度优先搜索有着先天优势在环上走一圈回到已遍历过的结点即有负环。绝大多数情况下的时间复杂度为O(m)级别。     那我们试着使用深搜核心思想为每次从更新一个结点u时从该结点开始递归进行下一次迭代。     对于WorldRings(ACM-ICPC Centrual European 2005)这道题676个点100000条边查找负环dfs仅仅需219ms。     一个简洁的数据结构和算法在一定程度上解决了大问题。 判断存在负环的条件重新经过某个在当前搜索栈中的结点。 【程序1】畅通工程 laoj1138 spfa算法(dfs) pascal code var i,n,m,s,t,x,y,z:longint;a,b:array[0..201,0..201] of longint;q:array[0..10001] of integer;vis:array[0..201] of boolean;dis:array[0..201] of longint; procedure spfa(s:longint);var i:longint;beginfor i:1 to b[s,0] doif dis[b[s,i]]dis[s]a[s,b[s,i]] thenbegindis[b[s,i]]:dis[s]a[s,b[s,i]];spfa(b[s,i]);end;end; beginread(n, m);fillchar(a,sizeof(a),0);for i:1 to m dobeginreadln(x,y,z);if (a[x,y]0)and(za[x,y]) then continue;inc(b[x,0]);b[x,b[x,0]]:y;a[x,y]:z;inc(b[y,0]);b[y,b[y,0]]:x;a[y,x]:z;end;readln(s,t);for i:0 to n do dis[i]:99999999;dis[s]:0;spfa(s);if dis[t]99999999 then writeln(dis[t]) else writeln(-1); end. C code #include iostream using namespace std; int q[10001], dis[201], a[201][201], b[201][201]; bool vis[201]; int n, m, s, t; void spfa(int s){for(int i1; ib[s][0]; i)if (dis[b[s][i]] dis[s]a[s][b[s][i]]){dis[b[s][i]] dis[s]a[s][b[s][i]];spfa(b[s][i]);} } int main(){int x, y, z;cin n m; for(int i0; im; i){cin x y z; if (a[x][y]!0 za[x][y]) continue;b[x][0]; b[x][b[x][0]]y; a[x][y]z; b[y][0]; b[y][b[y][0]]x; a[y][x]z;}cin s t;for(int i0; in; i) dis[i]99999999;dis[s]0;spfa(s);if (dis[t]!99999999) cout dis[t] endl;else cout -1 endl;return 0; }spfa优化——前向星优化 星形star表示法的思想与邻接表表示法的思想有一定的相似之处。对每个结点它也是记录从该结点出发的所有弧但它不是采用单向链表而是采用一个单一的数组表示。也就是说在该数组中首先存放从结点1出发的所有弧然后接着存放从节点2出发的所有孤依此类推最后存放从结点n出发的所有孤。对每条弧要依次存放其起点、终点、权的数值等有关信息。这实际上相当于对所有弧给出了一个顺序和编号只是从同一结点出发的弧的顺序可以任意排列。此外为了能够快速检索从每个节点出发的所有弧我们一般还用一个数组记录每个结点出发的弧的起始地址即弧的编号。在这种表示法中可以快速检索从每个结点出发的所有弧这种星形表示法称为前向星形forward star表示法。     例如在下图中仍然假设弧1,2l,32,43,24,34,55,3和5,4上的权分别为8964076和3。此时该网络图可以用前向星形表示法表示如下 前向星存储图 #include iostream using namespace std; int first[10005]; struct edge{int point,next,len; } e[10005]; void add(int i, int u, int v, int w){e[i].point v;e[i].next first[u];e[i].len w;first[u] i; } int n,m; int main(){int u,v,w;cin n m;for (int i 1; i m; i){cin u v w;add(i,u,v,w);} //这段是读入和加入for (int i 0; i n; i){cout from i endl;for (int j first[i]; j; j e[j].next) //这就是遍历边了cout to e[j].point length e[j].len endl;} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

徐州网站建设系统电子商务网站的建设课件

a[[app,ap,ade],[er],[bcc,brt]] 将这么一个list 转换成 a2[app,ap,ade,er,bcc,brt] 做法:a2[x for tup in a for x in tup] 转载于:https://www.cnblogs.com/cheng-cheng/p/10027446.html

万户网络网站建设网页设计常用代码

十七、MyBatis的注解式开发 mybatis中也提供了注解式开发方式,采用注解可以减少Sql映射文件的配置。 当然,使用注解式开发的话,sql语句是写在java程序中的,这种方式也会给sql语句的维护带来成本。 官方是这么说的: 使…

网站和网页的目的手机网站开发开发

目录 VLAN 技术原理和配置1. VLAN 技术的背景2. VLAN 标签的产生方法3. VLAN 标签的应用规则4. VLAN 的配置总结 VLAN 技术原理和配置 1. VLAN 技术的背景 VLAN(Virtual Local Area Network)是一种逻辑上划分网络的技术,可以将一个物理局域…

公司网站建设外包流程郑州vi设计公司

目录 一、背景二、过程三、总结 一、背景 十年前结缘,也许是冥冥中自有天注定,注定要给自己多加一个今天的节日。 二、过程 一个勋章,一个有意义的标志。 一个勋章,一个时间轮上的帧。 一个勋章,一个二进制的节点。…

网站空间被攻击wordpress页面视频播放

目录 配置环境 http配置 配置步骤 1、首先安装Nginx(已经安装的跳过这步) 2、查看一下下Nginx的配置文件结构,了解如何配置,以及配置的各个条目有什么作用(为接下来的配置打基础) 3、创建你的网页 4、…

网站可以做多少事情菏泽企业做网站

简介 该项目采用微服务架构,实现了前后端分离的系统设计。在前端,我们选择了 Vue3 配合 TypeScript 和 ElementUi 框架,以提升开发效率和用户体验。而在后端,则是运用 SpringBoot 和 Mybatis-plus 进行开发,保证了系统…

建设农产品网站总结ppt怎么制作手机网页链接

ssm会议管理系统源码和论文087 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳&…

东莞网站建设 光龙企业关键词优化公司

系统分析: 一般的抽象系统,如社会系统,经济系统,农业系统,生态系统,教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中,哪些是主要…

《ZeroTier教程》03-客户端配置 zerotier-cli常用命令 桥接和路由配置示例

原文永久链接:https://forum.piwind.com/d/40-zerotierjiao-cheng-03-ke-hu-duan-pei-zhi-zerotier-clichang-yong-ming-ling-qiao-jie-he-lu-you-pei-zhi-shi-li Date: 2024-10-02 Update: 2025-09-193. 客户端 win使…

XDG和桌面环境

1、定义XDG(X Desktop Group):一套 freedesktop.org 制定的目录规范,用来统一应用的配置、缓存、数据和运行时文件存放路径,在 freedesktop.org 制定的规范中,最常见的是 XDG Base Directory Specification(基础目…

PocoEmit遥遥领先于AutoMapper之循环引用

PocoEmit遥遥领先于AutoMapper之循环引用一、什么是循环引用循环引用就是类型相互依赖1. 比如A类有B类的属性,B类也有A类的属性这有什么问题呢? 编写生成A的代码需要遍历A的所有属性 构造B类型属性是A代码的一部分,B代…

网站制作怎么学去哪学建设个人网站需要什么条件

摘要: 云托付(Cloud Hosting)是以阿里云的标准,提供给企业优质的机房托管资源、云专线网络以及增值服务,并与阿里云公有云产品结合,为企业搭建混合云提供基础资源。 原文地址:http://click.aliy…

JAVA 语法基础课程动手动脑及课后实验问题整理文档

一、编程思维与项目分解相关 1.按照 “分解 — 识别模式 — 抽象 — 算法” 的编程思维项目分解原则,重新编写课前测试题。思考将整个程序分成若干个组件(分解)、将多次出现的相似功能设成独立的方法(模式识别、抽…

python垃圾回收

python垃圾回收Python的垃圾回收机制以引⽤计数器为主、分代码回收和标记清除为辅 1.refchai链表 在Python的C源码中有⼀个名为refchain的环状双向链表,在Python程序中每创建1个对象,就会将其加入此链表。 city = 四…

Arduino IDE 离线更新ESP-32 lib包

前提:学习ESP-32过程中,没有科技,只能离线安装依赖; 1. 参考这个知乎答案执行的 (99+ 封私信 / 88 条消息) 分享一个离线更新Arduino的ESP32库的方法 - 知乎 借助kimi的帮助 让不懂python的人也能用上 感谢AI 2. …

上海企业注销流程seo发布专员招聘

Java内存模型可以说是Java并发的底层支持,了解Java内存模型才能正在了解Java并发。内存模型在内存中设置一个变量"value 1;"那么其他线程能在什么时候读取到这个结果呢?有可能不能立即甚至永远都读不到。比如指令顺序与源代码中的…

CUDA编程(CUDA_By_Example笔记)

CUDA编程 概念 核函数 核函数(Kernel Function) 指的是运行在 GPU 上的函数,由 CPU(Host)端调用,但实际在 GPU(Device)端并行执行。 核函数的声明需要限定符 __global__ ,例如: __global__ void add(int *a,…

K8S部署Openwebui 服务(Nvidia版)

K8S部署Openwebui 服务(Nvidia版)K8S部署BOBAI 服务(Nvidia版) 目录一、GPU 节点部署 Driver && CUDA部署1、前提准备检查机器上面有支持CUDA的NVIDIA GPU 查看自己的系统是否支持 验证系统是否有GCC编译环…

传统AI对话:悟空也辛苦(ai元人文)

悟空也辛苦 absolutely. 您这个补充至关重要,它点明了整个系统实现“智慧循环”和“责任追溯”的最后一环。我们把它整合进去。 这个“悟空中的数据备案”机制,可以称之为 “悟空的全程审计追踪” 或 “创造性过程档…

响应网站开发内容营销策略有哪些

Java异常架构与异常关键字Java异常简介Java异常架构1. Throwable2. Error(错误)3. Exception(异常)运行时异常编译时异常4. 受检异常与非受检异常受检异常非受检异常Java异常关键字Java异常处理声明异常抛出异常捕获异常如何选择异…