- 博客(32)
- 收藏
- 关注
原创 SPFA的拓展应用
(2) 统计当前每个点的最短路中所包含的边数,如果某点的最短路所包含的边数大于等于n,则说明也存在负环;不能直接用虚拟原点建边,这样会引入多一个点,很容易出现负环,虚拟原点到其他点的变长不好定义。(1) 统计每个点入队次数,如果某个点入队n次,则说明存在负环;在基础之上增加一个cnt[N]用来判断负环。
2024-06-29 16:53:43
725
原创 最小生成树拓展应用
建立一个超级源点,可以解决从哪个点开始的问题,如果只选最小点开始,会把其他自环(也应当看成一条边)忽略而没考虑到。可不可以找到最小生成树的后一条边(这个边需要满足能生成树)当作答案?手搓建立一个超级源点,ac了,prim算法。感觉是可以prim算法的。
2024-06-28 19:55:38
1090
原创 最小生成树模型
和dijkstra区别:d数组记录的是一个点到生成树的最小距离。还是在已有连线的基础上找到权值之和最小生成树。纯裸的一道prim模版题。纯裸的kruskul算法。边权为正才有最小生成树。
2024-06-27 15:05:32
274
原创 floyd算法拓展
含义:表示从i到j只经过1~k的话,最短路径是多少。关键:直径最大的牧场的直径尽可能小。(2) 本题含义:表示从i到j,由上一层状态更新,可以去掉一维。经过k条边的最短距离。
2024-06-27 01:30:35
283
原创 单源最短路(三)
不用,边做边更新,由于dijkstra和bfs天然的最短路拓扑序,所以同时记录最短路和路径数,用最短路去判断,然后更新最短路和路径数。需要存两个格点间的门的种类,以及有墙不能走的地方,bfs之前有一道题目很像,不过它用二进制表示一个格点四周墙的状态。类比dp,单独的点去记录路径是不够的,对于本题来说还有在某个点时,还需要这个人手持钥匙的状态,使得能够状态转移。,而不可能走第一排格子的上行边,所以取右边和下面,本题边的个数不会超过400=10*10*2*2(双向边)既要有钥匙,又要最短路。
2024-06-26 00:46:57
532
原创 MNIST手写字体识别(算法基础)
实际数据是含有高斯噪声的,我们拿来做观测值,通过观察数据分布为线型分布时,不断优化loss,即求loss极小值。在最简单的二元一次线性方程基础上进行三次线性模型嵌套,使线性输出更稳定,每一次嵌套后的结果作为后一个的输入。说人话就是让模型愈来愈贴近真实的变化(从正常的字体,到倾斜,模糊,笔画奇特等字体),以便更好的预测。, 使得梯度慢慢往下降无限趋近合适解,在最优解附近波动 ,得到一个近似解。在上一种regression基础上,每个点的概率加起来为1。值域压缩到 [0-1] 的范围。增加了非线性变化的容错。
2024-06-24 23:23:28
1083
2
原创 单源最短路径(二)
这题不是吃甜草的牛那道,每个亲戚可能都不在一条路径上,要找到分支的和,想到找到最短路中最远的一个亲戚,然后不断pre到他的前一个亲戚知道1,如果没有pre到说明不在一条路径上,需要找到没有pre到的点。不能用dijkstra是因为最小价格(最大价格)是在一条边的两端取,会出现后出现的点可以更新前面的点的情况,所以不能用基于贪心的Dijkstra算法。重新捋一遍思路,发现需要找到一个最优访问亲戚的顺序,那就需要对亲戚的访问顺序做一遍排列。有两条道路,一种是是可以为负数的航线,一种是只有正数的道路。
2024-06-23 00:15:50
286
原创 Linux文件系统验证
(注意打开一个文件后使用完毕需要使用 close 进行关闭,同时每次完成实验后使用rm删除函数所创建的文件,如果没有删除权限可以通过 chmod 修改权限后再删除)i.打开一个已经存在的文件(例如 test_file),通过 lseek 函数计算该文件的大小,并打印出来。iv. O_TRUNC,打开文件时,如果这个文件本来有内容,并且为只读或只写成功打开,则将其长度截短为0.一个进程可以打开多个文件,在Linux系统中,一个进程可以打开的文件数是有限的,我们可以通过一下命令查看。i. 若文件不存在则创建,
2024-06-22 15:01:43
709
原创 概率论论文(关于“到课率”的贝叶斯推理应用)
解答:由于深圳技术大学物联网学生的特殊性——根据近三周的数据统计,我们假设平均一周有15节课,根据收集数据记,一名学生在不知道老师会不会点名的情况下随机旷掉一节课的概率是0.5,而知道老师会点名的情况下旷课的概率是0.3,由于临近期末,老师的点名概率也稳定在(以概率论为例,平均三周下来的签到率为2/4=0.5)。学生想知道在决定旷课的情况下,老师实际点名的概率。首先,我们假设开始时村民对小孩子的信任度为0.8,即P(B1) = 0.8,那么小孩子不可信的概率P(B2) = 1 - P(B1) = 0.2。
2024-06-21 21:22:53
1019
原创 单源最短路(一)
思路是先计算任意两个牧场之间的距离,然后通过枚举每个牧场作为中间点,计算每头牛到这个中间点的距离之和。然后去最小值(对应的牧场编号)floyd+枚举(会TLE)堆优化版dijkstra。
2024-06-21 09:51:59
176
原创 typora图床配置
由于本人电脑初始化原因,需要重新安装软件,在配置typora图床时,遇到了验证失败的情况,于是通过搜罗资料和AI,成功解决了问题。
2024-06-20 11:06:32
309
原创 MQTT环境搭建(ubuntu20.04版docker)
该死的第二次创建容器的时候忘了端口映射,只能从头下载 😢。泪目了,终于成功用20.04的docker配置成功。根据官网给出的几行命令行就可以下载对应版本。
2024-06-18 22:36:07
227
原创 51单片机基础学习
这个时候需要用到压栈操作,用以保护中断现场,知道中断服务结束返回RETI,才进行恢复PC等寄存器的操作。232是电平转换芯片,实现单片机和计算机之间电平信号不一致的统一(15米以内的点对点通信)同样的有CH340芯片是转成USB电平的——USB转UART(反过来也行)的接口芯片;485电平转换芯片,增加传输距离(总线型,主-从通信)学过《微机原理》的我们都知道,汇编语言中可以设置跳转。单片机和计算机之间通过USB的串口异步通信。异步通信双方要约定好波特率。
2024-06-18 22:10:27
281
原创 算法基础——搜索题目(持续更新)
二分木棍最小值,向左找,dfs找到可以满足等长的总共木棒数,枚举木棒,将木棍放入,但其实木棍最长也就64,不会爆int,所以从1开始枚举就好了。在基础课的基础上需要知道记录每一步的操作,可通过记录上一次的状态推得。枚举小猫,考虑开新车放小猫。方案数大于最大数剪枝。
2024-06-15 19:28:50
375
原创 Cable master (浮点数二分)
光头强的仓库里有N根长度不等的木头,因此,光头强需要进行切割,并把长度相同的K根木头送到公司(本题当中的给出的木头长度单位是米,光头强的切割技术只能精确到厘米,也就是说答案保留到小数点后两位小数),同时光头强为了向李老板表示自己非常的勤劳没有偷懒,决定让这K根木头的长度达到最大,你能告诉她这K根木头最大的长度是多少吗?第一行给出n和K,分别代表光头强库存木头的数目和李老板要求的木头的数目;(1<=N,k<=10000) 接下来N行分别给出光头强N根木头的长度,木头长度在int范围内。
2024-06-11 17:32:51
109
原创 计蒜客——二分查找(三)
蒜头君手上有个长度为n的数组A。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问在数组 A 中,比3大的最小值是多大?但是这次蒜头君要求这个数字必须大于 2,不能等于。第一行输入两个整数n.和m,分别表示数组的长度和查询的次数。接下来 m 行,每行有1个整数2,表示蒜头君询问的整数。对于每次查询,如果可以找到,输出这个整数。接下来一行有 n个整数 aio。
2024-06-10 02:29:12
141
原创 AtCoder Beginner Contest 350 C - Sort
让原本排在前面的数回到前面,而占用了本应该在前面的数的位置的数,就去到本应该在前面的数的现有位置,比如2,1,3,4序列,原本1应该在序号一的位置,但是被2占用了,那我们就让1和2进行位置交换,然后能得到1,2,3,4。和Atcoder这道题目一样,只不过,我们只需要增加一个数组去记录每个数从小到大排序应该在的位置,然后去找a中每个数应该在什么位置。这里的每个数起始位置(也就是一开始的乱序位置),我们用b数组记录,每个数用a数组去记录。找出n个数从小到大的排列顺序所需要的步数并记录每一次交换的位置。
2024-04-21 01:45:08
318
1
原创 九日集训(第五天)排序
如果compar返回值小于0,则p1所指向元素会被排在p2所指向元素的左边;如果compar返回值等于0,则p1所指向的元素与p2所指向元素的顺序不确定;如果compar返回值大于0.则p1所指向元素会被排在p2所指向元素的右边个人觉得是比较重要的的比较函数,但具体怎么根据和0的比较实现移动还不知道。函数定义:1.函数定义实现极简版2.偶数在前,奇数在后。
2023-04-12 16:39:17
89
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人