刷新
AtCoder Beginner Contest 311

博主头像 ## [A - First ABC (abc311 A)](https://atcoder.jp/contests/abc311/tasks/abc311_a) ### 题目大意 给定一个字符串,问最短的一个前缀,包含`A B C`这三个字符。 ### 解题思路 注意到这个前缀的末尾字母一定是这三个 ...

传统TCP设计的可靠传输协议详解

博主头像 传统TCP设计的可靠传输协议通过连接管理、数据确认和重传机制、流量控制以及多路复用技术实现了数据的可靠传输。但是,由于TCP协议的性能限制和网络拥塞等问题,传统TCP设计的可靠传输协议可能存在一些性能瓶颈。因此,在实际应用中,需要根据具体需求选择适合的可靠传输协议。 ...

Java实现数组去重复的18种写法

博主头像 说明 数组(含List)去重复在日常工作中经常遇到,很多时候用到Set数据结构,但有时候我们需要针对数据进行干预,这时候就需要用其他的实现方式了。以下列出各种的去重方式,基本含括了所有情况。 源码下载 https://github.com/microwind/algorithms/blob/main ...

分治

博主头像 ##**分治的核心思想是** 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维数 ...

<1···282930···32>