摘要: 网络流 何为网络流 想要弄清楚网络流,首先要知道网络的概念,通常在运筹学中,网络是指一个有向图$G\ =\ (V,E)$ 。其每条边$(u,v)\in E$都有一个权值$c(u,v)$,称为这条边的流量(Capacity),还有两个特殊的点,一个是源点(Source),一个是汇点(Sink)在图论中 阅读全文
posted @ 2023-07-14 10:20 reasa 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 1.语言与计算机 递归调用 向前引用 随机化 指针类型 按位运算 2.排序 冒泡排序(起泡排序) 选择排序 插入排序 ★ Shell排序 快速排序 线性时间排序 查找第k大元素 带第二关键字的排序 3.数论(一) 素性判断 筛选建立素数表 分解质因数 进制转换 二分取幂 ★二分求解线性递推方程 4. 阅读全文
posted @ 2022-11-20 21:21 reasa 阅读(97) 评论(0) 推荐(0) 编辑
摘要: #主定理: n为问题规模,a为递推的子问题数量,n/b为每个子问题的规模,f(n)为递推意以外进行的计算工作。 a≥1,b>1为常数,f(n) 为函数,T(n) 为非负整数。则有以下结果(分类讨论): 1)若 则有 2)若则有 3)若且对于某个常数c<1和所有充分大的n有 则有 其中,大O代表的是该 阅读全文
posted @ 2022-11-01 18:40 reasa 阅读(260) 评论(0) 推荐(1) 编辑
摘要: 题目传送门 从题目中我们可以看出,这道题显然是用滑动窗口来完成的。 是的,滑动窗口!而且这个滑动窗口比较容易维护,因为它窗口的大小"基本"固定,(因为还需要考虑不完整的段),只需使用一个变量来标记,而且所有的数都是从1~s的整数,因此,只需用一个数组便可以保存每个数在窗口中出现的次数。在用一个b数组 阅读全文
posted @ 2022-10-26 23:10 reasa 阅读(43) 评论(0) 推荐(2) 编辑
摘要: 1.简介 模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。 ————百度百科 简而言之,模拟退火是一种随机化算法,常用于信息 阅读全文
posted @ 2022-10-26 13:15 reasa 阅读(182) 评论(1) 推荐(2) 编辑
摘要: 1.简介 线段树,顾名思义,就是由线段构成的树,是一个较为优秀的数据结构,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点,通常用于解决区间类的问题,在各大OI赛事中频繁出现。下面我将为你展示线段树的一些基本操作及原理 2.存储 线段树一般用结构体存储,代码如下: struct 阅读全文
posted @ 2022-10-25 14:16 reasa 阅读(312) 评论(2) 推荐(2) 编辑
摘要: 1.介绍 树形选择排序(Tree Selection Sort),又称锦标赛排序(Tournament Sort),是一种按照锦标赛思想进行选择排序的不稳定排序。 2.实现原理 如图所示,给定有8个元素的数组,对该数组进行从小到大的排序。 第一步,如图所示,根据数组建立一颗满二叉树(胜者树),用于进 阅读全文
posted @ 2022-09-04 11:17 reasa 阅读(1278) 评论(1) 推荐(0) 编辑
摘要: 1. 作用 lower_bound和upper_bound都是C++的STL库中的函数,作用差不多,lower_bound所返回的是第一个大于或等于目标元素的元素地址,而upper_bound则是返回第一个大于目标元素的元素地址。 从定义就可以看出两者的差别只差在是否取等的的地方 那何必要设置两个函 阅读全文
posted @ 2022-08-30 12:19 reasa 阅读(1543) 评论(0) 推荐(2) 编辑
摘要: 1.简介 set是C++STL库中的一个容器,他十分的便利,所有的元素插入时都会被自动排序,并且容器内保证元素不重复,就想高一数学中讲的集合具有互异性一样,(好像set本来就叫集合容器 bushi)2.本质 set属于关联式容器,使用类似书的结构(基于红黑树的平衡二叉检索树)如图: 3.用处 构造s 阅读全文
posted @ 2022-08-26 12:08 reasa 阅读(239) 评论(0) 推荐(0) 编辑