刚刚AC的pj普及组第四题就是一种单源最短路. 我们知道当一个图存在负权边时像Dijkstra等算法便无法实现: 而Bellman-Ford算法的复杂度又过高O(V*E),SPFA算法便派上用场了. 其实SPFA 是用队列的优化,过程详见下图(PS:图片转自网络) 好了,以上图片基本已经说明的SPFA的过程,下面就是代码实现: 模板如下: void spfa(){ ; i<=n; i++) dis[i]=INF; //初始化 dis[start]=; inq[start]=; q.push(st…
常量defind 和 const区别 什么是常量? 如字面理解的,在脚本执行期间不可改变的的量. 定义一个常量应该注意的事项? 1:常量默认大小写敏感,错误的大小写不会被识别为常量. 2:常量只能是标量数据,也可以定义 资源 常量,但是定义了,会发生一些奇妙的,不可预知的错误,所以应当尽量避免. 标量数据:(boolean,integer,float 和 string) 通过 defind 和 const 区别 1:重复定义 1:defind 重复定义常量,常量不会被修改,php报一个 通知 错…
手动维护一个数组模拟即可,233-- 可以使用algorithm中的lower_bound(相当于二分) 代码如下: #include<cstdio> #include<algorithm> using namespace std; int a[1000000],tot,n,x; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&x); if(…
最近一直在学习其他,导致博客就疏忽了,很不好(其实就是自己懒了......). -- 为什么要使用 .bash_profile和.bashrc ? 在平常的使用中,有些文件夹或者命令很长,在执行时需要键入很长的文件路径来找到这个文件. 这样太繁琐了,我应该更记录一些东西来代替我冗余的命令和文件路径 -- .bash_profile和.bashrc 是什么? 是环境变量的意思,所谓环境变量,就是为了简化定义你的文件路径和命令所产生的. 使得在输入时方便快捷的找到你定义好的路径. -- .bash_…
在平常工作中,常常需要关闭 SSH 的密码登录,只留 SSH 证书登录. 好处显而易见,避免了经常输入密码导致的密码泄露,和设置密码导致被暴力破解的可能性. -- 方法也很简单,首先 你是可以 登录 服务器的. 修改 vim /etc/ssh/sshd_config 修改 PasswordAuthentication yes/no 重启服务 service sshd restart --…
用于建立空文件夹和删除文件夹 -- 两命令重要参数 -p 递归建立/删除 -- 例如 mkdir -p demo1/demo2/demo3 建立demo3空文件夹,如果demo1/demo2没建立也建立相应的文件夹 -- rmdir -p demo1/demo2/demo3 删除demo3空文件夹,如果demo1/demo2为空的话也删除对应的文件夹…
对于面向对象 修饰符的使用是我们最常用,也是很容易忽略的小细节. 对于编程来说,把握好每一个小细节,就能构造出漂亮,优雅的程序. public 使用最多的修饰符,公共方法,允许所有访问,就像一个公交车一样,上来交钱[参数],有钱就行,无所谓是谁. 对于这个修饰符救不在做更多的解释了,因为他的使用实在是太多了. PS:如果一个方法没有定义修饰符,那么在PHP5中,默认是public. private 私有方法, 不允许在直接实例化后访问,子类也不能直接访问,只允许在自己的类中使用. 道理我都懂,我…
require_once require include include_once 方法的区别 对于包含文件来说,如果只是使用框架来说的话,应该会很少碰到,因为框架底层对于文件的引用等做了很好的封装,这也导致了我们对于这块知识理解的欠缺. 为什么要使用类似引入文件的函数? 在一个PHP函数的生命周期中(就是一个程序执行的过程,比如echo 一个字符串),可能会用到很多个文件,这些个文件不可能都写在一个文件中,这样极不好管理,也不利于维护. 也就产生了MVC框架,使得编码可以结构化,利于管理和维护…
无优化:500ms deque优化:400ms #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int maxn = 550000; const int inf = 0x7fffffff; int dis[maxn], n, m, s; bool vis…
题目链接:https://www.luogu.org/problemnew/show/P3371 我永远都喜欢Flyod.dijkstra + heap.SPFA #include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespace std; ; const int inf = 0x7fffffff; int n, m, s, dis[maxn];…