个人acm算法模板
文章平均质量分 81
刷题的acm算法模板、数学建模等各色有趣的算法板子
仰天倀笑
泛泛之辈又何妨,我心无畏少年郎( ̄▽ ̄)"
展开
-
【算法设计】最短路理解+费用流入门学习初步小结
费用流入门学习初步小结0 前言 5月份开始任务宛如洪水,写了两篇周小结感觉毫无干货,于是直接熄火备战期中考,然后是期末考、project等。现在可以慢慢腾出一定的时间,稍微总结一下学期的内容。 《算法分析与设计》课程让我重温了以前的一些知识点,学的一塌糊涂( ̄▽ ̄)"。在期末学习费用流时,因为用到了SPFA,所以想一起把最短路的几个点也梳理一下。大二的时候想梳理一遍最短路,那时用word码字,效率低,写了一点懒得写了( ̄▽ ̄)"。趁这个机会,打算按照【最短路总结】、【网络流和费用流】的思维顺序,进原创 2021-06-16 20:18:27 · 336 阅读 · 0 评论 -
爆刷PAT(甲级)——之链表专题【1032】【1052】【1097】【1133】——一个排序法应对大部分链表题
之前几次PAT,好几次遇见了链表题——将数据以“节点”的形式给出,以“本地址addr”、“值value”、“下一个地址next”的数据形式,让编码者自行逻辑链接操作。由于平时没有刻意关注过,结果实战时按照模拟的方法去做题,要么思维混乱、耗费很多的时间写代码,要么晦涩地模拟出一坨屎。我个人之前,首先是将“地址”信息作为“字符串”读入;其次,节点间的联系使用map把它映射成数字id;最后,再按照数...原创 2020-04-24 10:52:59 · 345 阅读 · 0 评论 -
二分图匹配之 匈牙利算法简单学习后感
匈牙利算法的核心就是 增广路定理,能够理解增广路定理其实就理论理解了 匈牙利算法。讲匈牙利算法的文章很多了,就不在这里关公面前耍大刀了。 个人对匈牙利算法的理解: 先将图分为左边的点,和右边的点以后。 对左边的每一个没有匹配的点,进行搜索是否有增广路,如果搜寻到了, 就可以 使当前这个左边的点成为匹配点的同时,使匹配边数+1 可能我这么说也没有说...原创 2017-02-18 18:33:19 · 410 阅读 · 0 评论 -
爆刷PAT(甲级)——之【1119 】Pre- and Post-order Traversals (30 分)——先序后序建立中序遍历
题意:分别输入一个先序和后序遍历的序列,给出对应的中序遍历,并判断此中序遍历是否唯一。方法与学习过程:本题就是赤裸裸的如何由先序和后序遍历,进行建树or进行中序遍历。学习了三位博客的内容,我就不献丑赘述了~柳神的代码是用来膜的,看一下柳神的宏观思路:https://blog.csdn.net/liuchuo/article/details/52505179这位兄弟的博客主要是由...原创 2019-09-08 09:57:29 · 305 阅读 · 0 评论 -
【算法模板】AVL树建树模板(没有删除操作)
好不容易整理吸收了自己写的习惯 的AVL树建树模板,保存一下~struct Node{ int value; Node *left,*right; Node(int v) { value=v; left=right=NULL; }}*root=NULL;//左旋和右旋的灵魂就是——新王交接,父承子业//转一...原创 2019-08-22 12:25:32 · 298 阅读 · 0 评论 -
【算法模板】二叉树的三种遍历方式,以及根据两种遍历方式建树
前言:今年九月份的PAT考试就栽在这“两种遍历建树”上了,刚好没看,刚好考到。作为自己的遗憾,今日码完,贴在这里留个纪念,希望能给自己警醒与警钟。简要概括:1、二叉树的三种遍历方式分别是 先序(先根)遍历PreOrder,中序(中根)遍历InOrder,后序(后根)遍历PostOrder 。它们的递归写法相当简单,唯一要注意的是,递归的终止条件别忘了写; 至于非递归写法,写法比较麻...原创 2018-10-05 13:33:17 · 1255 阅读 · 3 评论 -
【算法模板】最长递增子序列LCS,手敲留念~
额,这是啥时候写的也忘了,但讲道理我存的板子应该都是能够AC的。。。当初写的时候都没写注释擦汗 #include"stdio.h"#include"string.h"int b[110000],len;int c[110000];int pan(){ int l,r,m,i,max=1; c[1]=b[0]; for(i=1;i<len;i++)...原创 2018-09-03 19:34:48 · 209 阅读 · 0 评论 -
【算法模板】最短路 Spfa 检测负环模板,手敲留念~
额,大一暑假写的最短路 Spfa 检测负环模板,还是比较干净的,翻出来存起来以后备用。 用SPFA做了两道题POJ2253、1797分别是 求 可达路径中,最大边的最小可以为多少。 解:中转点与边取最大,与目的点取小。 s点为0,dis其余初始INF无碍以及 求 可达路径中,最小边的最大可以...原创 2018-09-03 19:32:18 · 502 阅读 · 0 评论 -
【算法模板】树状数组,手写留念~
额,大一暑假写的树状数组,翻出来存起来以后备用。 #include "bits/stdc++.h"using namespace std;#define INF 999999999#define inf 10009//后缀数组的学习:预处理nlogn,实现logn的前缀和求//后缀数组下标自1始!用C[i]来表示,其核心就是lowbit(i)//C[i]体现的是i的二进制最后...原创 2018-09-03 19:29:48 · 184 阅读 · 0 评论 -
【算法模板】 RMQ问题,使用Sparse-Table,手写留念~
额,大一暑假写的RMQ,还是比较干净的,翻出来存起来以后备用。 #include "bits/stdc++.h"using namespace std;#define inf 10009#define INF 999999999//Sparse-Table 学习手敲:求区间最小值,nlogn预处理,1查询,不可动态维护//ST是一个打表的递推式 ,用2的k次来拓展//d...原创 2018-09-03 19:28:30 · 235 阅读 · 0 评论 -
【算法模板】匈牙利算法模板,手写留念~
额,大一暑假写的匈牙利算法,还是比较干净的,翻出来存起来以后备用。匈牙利算法,用来解决二分匹配的最大匹配问题~ #include"cstdio"#include"cstring"#include"vector"using namespace std;#define inf 99999int n,m; //点,边int res; //匹配数int ans[inf]; //...原创 2018-09-03 19:26:43 · 382 阅读 · 0 评论 -
【算法模板】模拟退火算法,手写留念~~
额,大二暑假写的模拟退火,翻出来存起来以后备用。我记得当时是用来跑数学建模的NP问题的,别人都用MATLAB,我用的是Codeblocks。。。 #include <iostream>#include <string.h>#include <stdlib.h>#include <algorithm>#include <st...原创 2018-09-03 19:24:55 · 703 阅读 · 0 评论 -
【算法模板】快速排序,手写留念~
额,大一暑假写的快速排序,还是比较干净的,翻出来存起来以后备用。void fastsort(int l,int r){ if(l>=r)return; int pos=l; int i=l; int j=r; while(i<j) { while(i<j&&e[j]>=e[pos]...原创 2018-09-03 19:22:29 · 277 阅读 · 0 评论 -
【算法模板】Dijkstra 队列优化版本,手敲留念~
额,大一暑假写的Dijkstra 队列优化版本,还是比较干净的,翻出来存起来以后备用。 #define inf 9999#define INF 0x3f3f3f3f#define loop(x,y,z) for(x=y;x<z;x++)//下标自1始int n,m,s,g; //s 为起点 g 为终点int book[inf],dis[i...原创 2018-09-03 19:20:22 · 411 阅读 · 0 评论 -
【算法模板】Dijkstra 赤裸绿色版本,手敲留念~
额,大一暑假写的Dijkstra,还是比较干净的,翻出来存起来以后备用。【但是最短路变形的时候,好像因为我的Dijkstra 太干净了还要改一下。。。】 #define inf 9999#define INF 0x3f3f3f3f#define loop(x,y,z) for(x=y;x<z;x++)//下标自1始int book[inf],e[inf][inf],di...原创 2018-09-03 19:18:30 · 212 阅读 · 0 评论