- 博客(32)
- 收藏
- 关注
原创 【双指针】供暖器
1)a数组:存储房屋的位置2)h数组:存储供暖器的位置3)l变量:停留在a数组4)r变量:停留在h数组5)minn变量:定义为房屋到供暖器的最小距离6) ans变量:定义为找到的最小半径。
2025-05-17 15:01:02
203
原创 【双指针】缺失的第一个正整数
改一下输入输出格式,第一行输入n,接下来输入n个整数,输出缺失的第一个正整数。这道题需要分情况讨论,用左程云老师的例子来举例,现在n=10,10个整数依次为-3,2,1,8,5,4,2,3,5,13,假设它们存储在数组a中,下标从1开始。整体算法的流程是:初始化l=1,r=n+1,一开始假设全部都是顺好的。(比如例子中的-3) 2) a[l]>r;(比如例子中的13)3)a[a[l]]==a[l] (有重复的数)。
2025-05-17 14:50:32
172
原创 【中缀表达式转表达式树】洛谷P8815 [CSP-J 2022] 逻辑表达式
【代码】【中缀表达式转表达式树】洛谷P8815 [CSP-J 2022] 逻辑表达式。
2025-04-08 09:26:43
118
原创 【栈-解题小记】洛谷P8815 [CSP-J 2022] 逻辑表达式
如果是或运算操作,如果n1.data为1,那么n2.data不会参与本次运算,短路次数就在n1.op的基础上加1.如果n1.data为0,那么n1.data和n2.data都要参与计算,没有发生短路。2.如果当前字符是“|”或在“&”,要看一下ysf栈顶元素的优先级和当前字符比哪个更高,若栈顶元素优先级更高,先处理栈顶元素的运算,1.定义了一个结构体nb,用来记录0或1的相关信息,包括数据(0或1),或运算短路次数op1,与运算短路次数op2。,否则(就会与0和1做运算就不对了。
2025-04-07 18:50:03
136
原创 洛谷P1359题解
这题对于出租站i,只需要考虑前面的出租站到本站有没有更少的租金,不用考虑i+1以后的出租站有没有可能通过其他中转到出租站i有没有更少的租金。那么,可以先确定小号的出租站的最少租金。之后基于小号出租站的租金,更新后面出租站的租金。最后输出出租站n的最少租金。题目描述的是出租站i到出租站j的租金r(i,j)这样明确说了i<j,但没有说j<i的情况。2.从第3个出租站开始,判断加入中转出租站会不会租金更少,如果更少,就更新从出租站1到该出租站的租金,否则不更新。1.初始化,1号出租站到个出租站的租金。
2024-08-11 10:40:55
229
原创 洛谷P2362做题总结
数组h:存储n根木桩的高度· 数组f:存储每个木桩的最长升序序列的长度· 数组cs:存储每个木桩的最长升序序列的方案数· 变量ti:存储比较后最长升序序列的木桩对应的下标。
2024-07-08 16:22:18
369
原创 洛谷P2008做题总结
求第i个数(i>1)的最长不下降子序列,我们可以先找满足不大于第i个数的数,之后在这些满足条件的数里面找到最长的序列的长度,加1(要把第i个数也加进去),就可以得到第i个数的最长不下降子序列的长度。这样看,第i(i>1)个数的最长不下降子序列可以从前i-1个数的最长不下降子序列得到答案,而且是第1个数也是有答案的,满足最优子结构。通过1.1的分析,我们知道第一个数的最长不下降子序列是1;如果是,更新当前数最长不下降子序列的长度与所有数的和,这个在f和v中更新相应的元素,否则就在看后一个数的情况。
2024-07-04 23:55:54
436
原创 洛谷P3395做题总结
mp数组用来标记格子被摆路障的时间(步数),一开始将所有格子的值初始化为一个较大的数,之后根据输入的2n-2行对特定格子做标记。判断了可以走之后,注意检查是否到了(n,n),如果是结束,输出”Yes”,否则创建pos对象入队,将vis标记为1,step值为当前值+1,反复这样做,知道队列为0.使用BFS算法求解,如果格子mp值为0可以走,可以走的情况下再看看是否到达(n,n),如果是则停止,输出“Yes",否则让格子入队,当队列为空时,结束循环。2.因为路障用2n-2个,所以要注意sx和sy要开的大一些。
2024-07-03 09:51:12
475
1
原创 欧几里得算法求最大公约数证明
证:假设gcd(a,b)=p, 则a=a’×p, b=b’×p.gcd(a’,b’)=1。根据上式此时,a’=(a/b)×b’+d×c=d×(b’‘×(a/b)+c)a’-(a/b)×b’可以写为a’-(a/b)×b’=d×c。假设gcd(b’,a’-(a/b)×b’)=d,d ≠ 1。由此推出,a’和b’是不互质的,因为有一个公约数d,要证明gcd(b’,a’-(a/b)×b’)=1.与前面提到的gcd(a’,b’)=1矛盾!则 b’可以写为b’=b’‘×d。而 b = p × b’
2023-04-11 15:41:12
280
原创 图神经网络
图:U:表示全局。E:表示边。数据表示:图片表示:(2442443)。像素映射为点。蓝色表示结点之间有边。文本表示分子图社交网络:交互图引用图:有向边定义问题:•图层面:原始图,识别环,来分类。•点层面:社交关系决裂,判断点所在阵营。•边层面:顶点的关系,边的属性预测。机器学习用于图神经网络的挑战:如何表示图:顶点的属性用向量表示。连接性用邻接矩阵表示。问题:矩阵很大,稀疏矩阵。邻接矩阵交换行列,要保证结果一样。解决方法:邻接列表图神经网络:GNN对图上所有属性进行的可以
2021-12-13 18:10:46
863
原创 目标检测笔记(1116)
1.object detection的模型:R-CNN,Fast RCNN ,YOLO,Detectron,SSD,YOLOv4,YOLOR2.步骤One-stage:直接在图象中检测,eg:YOLOafter 2014 two stages:判断区域是否有物体,有物体的区域做proposal region 给神经网络进行分类及bounding box regression。(分类器有四个神经元,代表四个顶点)3.rcnn:选取若干个大小不一比例不同的区域,用分类模型判断是否有检测目标。最直接的
2021-11-16 20:54:53
116
原创 Iris数据集操作
data是pd.read_csv(csv文件)•data[‘class’].value_counts() 用于统计每个类的数量。•data.describe(include=‘all’)统计•data.cov() 协方差•data.corr() 相关系数•data[‘属性’].hist(bins=分桶数量(自定义)) 显示直方图•data.boxplot() 显示盒状图,可看outliers情况。•parallel_coordinates,看某属性各类别的区分度。...
2021-11-12 15:02:17
396
原创 网络连接设备
物理层的互连设备:中继器、集线器中继器:对数据信号的重新发送和转发来延长网络传输的距离。集线器:特殊的多路中继器,并且具有信号放大功能。数据链路层互连设备:网桥:检查帧的源地址和目的地址,若源地址和目的地址不在同一网络段,就把帧转发到另一网络段。所以,网桥起到了过滤帧功能。交换机网络层互连设备路由器:功能有过滤、存储转发、流量管理、介质转换等,最主要功能选择路径。在路由器的存储器中维护着一个路由表,记录各个网络的逻辑地址,用于识别其他网络。在互联网络中当路由器收到从一个网络发送到另一个网络的信
2021-10-26 22:52:42
389
原创 图形图像概述笔记
•分辨率:一个非常重要的性能指标。指显示器所能显示的像素的多少。像素越多,图像越清晰,印刷质量越好,同时也会增加文件占用的存储空间。描述分辨率的单位:dpi(点每英寸)、lpi(线每英寸)、ppi(像素每英寸)。•颜色深度:每个像素信息所占的二进制位数,又称像素深度,用像素位数(bpp)表示。常见颜色深度:1,8,24,32位等。其中,1位成为二值图像,24位称为真彩图像。•位图:由称作像素的单个点组成。•矢量图:只能靠软件生成。因为这种类型的图像文件包含独立的分离图像,所以可以自由无限制地重新组合
2021-10-22 08:56:05
188
原创 递归思想做穷举随想
放3个题目,选自老师的讲稿:第一个问题1.考虑组成要素。影响结果的是栈内和栈外的元素个数,因此,组成要素可以暂定为这两个,可以写成函数f(x,y),x表示为外面的元素个数,y为里面的元素个数。2.画图分析(画图是个很有用的东西)分析:(1)结束条件:x=0时,只能出栈了;y=0时,无法处理。(2)发展:从初始状态(0,0)发展到结束条件,可以通过出栈和入栈来达到。出栈可以用f(x,y-1)实现,条件是y>0;入栈可以用f(x-1,y+1)实现,条件是x>0。3.于是,可得代码:这
2021-06-30 17:08:24
165
原创 自然数N的拆分
参考链接1参考链接2一开始做这道题没什么头绪,后来感觉手工模拟挺重要的。主要思路是:比如对4拆分,4=1+1+1+1,4=1+1+2,4=1+3,4=2+2这样做拆分会比较有规律。可以对等号右边每一列做循环,而且要保证同一行加数中,右边的项要比左边的项大。为了确保能够无误运行,还需要一个变量来记录剩下的值,如果剩下的值小于0,结束;大于0,继续;等于0,输出,结束。下面我参考了一些代码,自己手写了一个。这个过程中,传进来的参数pos不能在赋值的时候下标才增加。时间挺急的,后面再完善。代码
2021-06-30 11:21:01
614
原创 zoj1942题目随想
1.题目理解这道题的任务是:(1)找到能从stone1通向stone2的路;(2)找出(1)中每条路的最大距离的一段,比较它们,找出最小者。用题目的第二组数据举例,我们可以找到两条从stone1到stone2的路,也可以知道蓝色的路就只有一段,它的最大距离的一段的长度为2;橙色的路中间经过了除stone1和stone2外的结点,它的最大距离的一段是sqrt(2),保留三位小数为1.414。2.解题思路这道题一种解法是用Dijkstra算法,但是比较的不是从stone1到另外一点的距离,而是st
2021-06-26 23:39:09
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人