自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 链表中环的入口结点

(k>=1,所以k-1>=0,b+c=环的长度,相当于a的距离是c的距离加n个环的距离)快指针从头结点出发,慢指针从相遇点出发,两个指针速度一样的情况下,两个指针必定会在环入口相遇,因为不管n等于多少,慢指针始终会转回相遇点,最终停下的位置一定是环入口。设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点(结论1)。慢指针走的距离为a+b,快指针走的距离为a+k(b+c)+b,(k>=1,相当于是快指针比慢指针多走了几圈,k不能等于0,否则快慢指针走的距离一样)。

2024-07-22 23:28:20 395

原创 判断链表是否有环

设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点。证明:设置快慢指针fast和low,fast每次走两步,slow每次走一步。假如有环,两者一定会相遇(因为low一旦进环,可看作fast在后面追赶slow的过程,每次两者都接近一步,最后一定能追上)。

2024-07-22 20:45:52 183

原创 vscode技巧

这个功能允许你为特定类型的文件定义一个预设的模板,当你创建新文件时,这个模板会自动填充。现在,当你创建一个新的 .h 文件并希望使用这个模板时,只需在文件中键入你为代码片段设置的前缀(在这个例子中是 header),然后按 Tab。这样,每次你需要创建一个新的头文件时,你就可以快速地使用这个预设的模板,从而提高你的工作效率。这个模板定义了一个代码片段,当你在 .h 文件中键入 header 并按下 Tab 键时,它会自动展开成一个基本的头文件框架。在打开的代码片段文件中,你可以定义一个新的片段。

2024-01-26 16:45:00 355 1

原创 2021-07-19

高斯消元*原题:题目背景输入一个包含 n 个方程 n 个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。下图为一个包含 m 个方程 n 个未知数的线性方程组示例:输入格式第一行包含整数 n。接下来 n 行,每行包含 n+1 个实数,表示一个方程的 n 个系数以及等号右侧的常数。输出格式如果给定线性方程组存在唯一解,则输出共 n 行,其中第 i 行输出第 i 个未知数的解,结果保留两位小数。如果给定线性方程组存在无数解,则输出 Infinite group solutions

2021-07-19 22:05:04 74

原创 2021-07-14

欧拉回路算法思想#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int N=1010, M=1e6+10;int n,m;int h[N],e[M],ne[M],idx;int cnt[N];//记录某个点的度int num; //记录遍历图时走过的边的数量,以便确定是否是回路bool stu[M]; //判断某条边是是否走过,fa

2021-07-14 10:18:32 78

原创 Dijkstra算法

搜索与图论最短路算法1.dijkstra算法基本思路Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短距离和一个保存已经找到了最短路径的顶点的集合:T,初始时,原点 s 的路径权重被赋为 0 (dis[s] = 0)。若对于顶点 s 存在能直接到达的边(s,m),则把dis[m]设为w(s, m),同时把所有其他(s不能直接到达的)顶点的路径长度设为无穷大。初始时,集合T只有顶点s。然后,从dis数组选择最小值,则该值就是源点s到该值对应的顶点的最短路径,并且

2021-04-24 22:38:54 245

原创 PTA天梯赛二分法求多项式单根

二分法求多项式单根原题:二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f®=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则如果f(a)f(b)<0,则计算中点的值f((a+b)/2);如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根;否则如果f((a+b)/2)与f(a)同号,则说明根在区间[(a+b)/2,b],令a=(a+b)/

2021-01-03 11:31:21 275

原创 PTA天梯赛习题 A-B

字符串处理原题L1-011 A-B (20分)本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过10​4​​ ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou输出样例:I lv

2020-12-26 10:00:17 1871 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除