摘要: 1.尽量按照逻辑顺序先后从上到小写,属于同一块的写在同一块(并最好写上总注视) 声明,先定义 重要的全局变量 一些功能函数和他们相应的变量的声明 主函数 2.不同的部分最好写成函数,分在不同的地方,函数要采用InPut的写法,免得和普通的变量重复了 3.有具体意思的全局变量等东西,尽量根据意思写变量 阅读全文
posted @ 2021-06-29 18:23 bear_xin 阅读(457) 评论(0) 推荐(0)
摘要: 1.乘法往往会爆longlong,所以要用log(ab) = loga+logb这个方法 例题【我的代码值得参考】 阅读全文
posted @ 2021-06-29 17:35 bear_xin 阅读(410) 评论(0) 推荐(0)
摘要: 1.dijkastra 是不可行的 如果选取dijkstra求取最长路,那么思想肯定就是选取当前权值最大的点,并且选取最长的路径。但是这种思想是错误的!我们从源点来举个例子。a—b c表示的是a,b之间的路径长度为c 1—2 2 1—3 1 3—4 1 4—2 1 我们的目的是求解1到2这两个点之间 阅读全文
posted @ 2021-06-29 14:34 bear_xin 阅读(63) 评论(0) 推荐(0)
摘要: 1.jsk精辟解析 spfa spfa-负环 2.记录最优路径 int prv[N], pree[N]; int dis[N]; bool in[N]; inline void Init() { memset(dis, 0x3f, sizeof(dis)); memset(in, false, si 阅读全文
posted @ 2021-06-29 14:00 bear_xin 阅读(26) 评论(0) 推荐(0)
摘要: 1.离谱,学了这么久才发现自己一直学的都是最短路,没有学最长路 2.无向图时,更改一条边,两条边都要同时改变!!!!!-> 直接时i和i^1就是反向边了 3.floyed算法【最短路】【模板】 4.应当熟练掌握复杂度的计算方法,对选用算法很有用 例题:题解 阅读全文
posted @ 2021-06-29 13:40 bear_xin 阅读(12) 评论(0) 推荐(0)
摘要: 1.memset,fill 2.inf的设置 阅读全文
posted @ 2021-06-29 11:05 bear_xin 阅读(41) 评论(0) 推荐(0)
摘要: PART1 关于设置inf 本文转载,个人理解用,原文见大佬博客–>>原文连接 在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!) 在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什 阅读全文
posted @ 2021-06-29 10:56 bear_xin 阅读(174) 评论(0) 推荐(0)
摘要: 1.关闭输入等待 ios::sync_with_stdio(false); 2.read输入模板 inline int read()//快读板子 { int x=0; char c=getchar(); while(c<'0'||c>'9') c=getchar(); while(c>='0'&&c 阅读全文
posted @ 2021-06-29 10:49 bear_xin 阅读(39) 评论(0) 推荐(0)
摘要: 唯一的多源最短路算法 本质: 第一重循环每一次在图上增加【一个点和它所依附的边】,以此来更新两点间的距离 理论证明: 一个点当过中点,它就不再是所在的连通的路径上的边缘结点,即,只要是边缘结点就还没有被当作过中点,而当两条连通路径的边缘结点相同时,两条路径就会通,并且这种情况必然发生 例题:灾后重建 阅读全文
posted @ 2021-06-29 10:37 bear_xin 阅读(54) 评论(0) 推荐(0)
摘要: 值得学习 bool Delete_Point(const TypeOfVer& data) { int i, j; for (i = 0; i < Vers; i++) if (ver[i] == data) { ver.erase(ver.begin() + i); break; } if (i 阅读全文
posted @ 2021-06-06 23:44 bear_xin 阅读(210) 评论(0) 推荐(0)