刷新
分治

博主头像 ##**分治的核心思想是** 1. 自上而下通过递归不断将大问题拆分成两个或多个子问题,直至被拆分出来的子问题可以通过一些简单的方法解决 2. 然后再自下而上地用子问题的解求解大问题的解 3. 最终我们能得到初始问题的解 ##**解决分治问题的时候的代码基本就是** 1. 限制左边界 == 右边界的 ...

二分图

博主头像 ##一. 定义 二分图是节点由两个集合组成,且两个集合内部没有边的图。 换言之,存在一种方案,将节点划分成满足以上性质的两个集合。 比如下图就是一个二分图,两个集合的元素可以用两种颜色表示,每条边上连接的点属于不同的集合,相同集合的两个点上没有边 **注意:二分图中不存在元素为奇数的环** ![]( ...

合并有序数组

博主头像 # 合并有序数组 ## 方法1-递归 ```java //运用的思想就是比较谁大,谁就先被排进数组 public static void merge(int []a1,int i,int iEnd,int j,int jEnd, int []a2,int k){ //定义了一个a1数组,分了i,iE ...

拓扑排序

博主头像 定义 : 对一个有向图构造拓扑序列,排序类似流程图那样按先干什么后干什么这样排序 拿大学教学安排举个例子(图来自oi wiki) ![](https://img2023.cnblogs.com/blog/3184306/202307/3184306-20230719173144329-1370939 ...

主席树学习笔记

博主头像 Tip:建议完成 [Luogu P3919](https://www.luogu.com.cn/problem/P3919) 后阅读。 ### 目录 1. [模板](https://www.luogu.com.cn/problem/P3834):静态区间 $k$ 小值 2. [模板](https:/ ...

最小生成树

博主头像 **生成树 : 如果连通图G的一个子图是一棵包含G的所有顶点的树,则该子图称为G的生成树** **最小生成树 : 边权和最小的生成树叫做最小生成树。如果原图不连通,则没有最小生成树** **求最小生成树有两种方法 : prim 和 kurskal** ## 一. prim算法 **将最小生成树看做一 ...

欧拉函数

博主头像 > 「观前提醒」 > > 「文章仅供学习和参考,如有问题请在评论区提出」 [toc] ## 定义 **欧拉函数**的符号表示是 $\varphi (n)$ ,表示 $1\sim n$ 中和 $n$ **互质**的数的个数。 例如,$\varphi (12) = 4$,即 $1,5,7,11$ 。 # ...

最短路之 Bellman-ford 算法

博主头像 ###bellman-ford算法的思想 : 若有向图有n个点,m条边 。 扫描所有边,对每条边进行一次松弛(即对a,b为端点 , 权重为w的边,dist[b] = min(dist[a] , dist[a] + w )) 重复此流程(最多重复n次)直到没有更新操作发生 ### 例题1 bellma ...

洛谷 P1122 最大子树和 题解

博主头像 一道入门的树形DP。 首先我们对于数据进行有序化处理,这便于我们利用数据结构特点(可排序性)来发觉数据性质(有序、单调、子问题等等性质),以便于后续的转化、推理和处理。**有序化可以“转化和创造”性质** 首先将视角从无根树切换为有根树,这样我们就可以得到一个带有最优子结构、无后效性、子问题重叠性的 ...

回文比较

博主头像 # 回文比较 ## 步骤1.找中间点 ## 用到了查找链表中间节点-快慢指针法 ```java public ListNode middleNode (ListNode head){ ListNode p1=head; ListNode p2=head; while (p2!=null&&p2.ne ...

图的遍历

博主头像 ## 1. 图上bfs ### 例题 求距离 >给你一张 n 个点 m 条边的无向简单图,点的编号为 1 到 n,每条边的长度都是 1 >现在有 k 组询问,每组询问我们想知道两个点 u,v 的距离。 > >输入格式 > >第一行三个整数 n,m,k 分别表示图的点数、边数和询问数。 >接下来 m ...

判环算法01

博主头像 # 判环算法01 ## 检验链表是否有环 ```java //判断环 public boolean hasCycle(ListNode head){ ListNode p1=head;//乌龟 ListNode p2=head;//兔子 while (p2!=null&&p2.next!=null) ...

任务调度之时间轮实现

博主头像 在生活中太阳的东升西落,鸟类的南飞北归,四级的轮换,每天的上下班,海水的潮汐,每月的房租车贷等等,如果用程序员的视角看,这就是一个个的定时任务,在日常的开发工作中也有很多的定时任务场景 ...

NumPy(1)-常用的初始化方法

博主头像 一、NumPy介绍 NumPy是Python中科学计算的基础包,它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。 功能强大的N维数 ...

进一步探讨二分

博主头像 #二分看似简单,但需注意细枝末节 接下来简单探讨几种查询 ##以严格大于x的第一位数为例子 ``` //序列为m ,x为查询的数 int find(int x){//假设序列长为n; int l=1,r=n; while(l>1; if(m[mid]x; //若m[mid]>x,则 m[l]>x,m ...

AtCoder Beginner Contest 310

博主头像 > 感觉F又双叒叕写复杂了 ## [A - Order Something Else (abc310 A)](https://atcoder.jp/contests/abc310/tasks/abc310_a) ### 题目大意 点杯咖啡,要$p$元,但可以用一个优惠券,使得咖啡只要 $q$元,但你 ...

数据结构之顺序表增删改查操作实现

博主头像 顺序表 顺序表的定义 线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列 顺序表 用顺序存储的方式实现线性表。顺序存储 把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。 如何知道一个数据元素大小? sizeof(ElemType) ,Elem ...

「前缀和」k倍区间

博主头像 > 本题蓝桥OJ[第97题](https://www.lanqiao.cn/problems/97/learning)的题解(蓝桥OJ上的相同题解也是我发的) ## 题面 ### 题目描述 给定一个长度为N的数列,$A_1,A_2,\dots ,A_N$ ,如果其中一段连续的子序列 $A_i,A_{ ...

「数学」付账问题

博主头像 > 本题蓝桥OJ[第174题](https://www.lanqiao.cn/problems/174/learning)的题解(蓝桥OJ上的相同题解也是我发的) ## 题面 ### 题目描述 几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有n个人出去吃饭,他们总共消费了S元 ...

<1···252627···32>