- 博客(22)
- 资源 (7)
- 收藏
- 关注
原创 质数和约数
数的表示: N=p1^a1 * p2^a2 * p2^a2 * p2。数的表示: N=p1^a1 * p2^a2 * p2^a2 * p2。质数的定义:对于除1和本身之外的数均不能整除的数。由于n%i==0 那么 n%(n/i)==0。2.an表示质因子的次幂。约数的个数:(a1+1)约数的和: (p1。
2023-07-11 08:40:47
74
1
原创 最短路和最小生成树
1.邻接矩阵(稠密图):在初始化的过程中如果存在重边将最短的存入图中2.邻接表(稀疏图):idx = 0;e[idx] = b;
2023-07-11 08:39:47
111
1
原创 超级详细模拟堆,常见错误及其思路汇总
2.堆其实就是一个完全二叉数,分为小堆,大堆,他的性质是每一个节点u 的左儿子是2u,右儿子是2u+1;pk[maxn] 表示堆 结点编号为 p 的 结点——> h中第 k 个数的映射。kp[maxn] 表示堆 第 k 个数——> h中结点(point)编号的映射。1.堆的操作只需要 down up swap 就可以实现。3.小堆的父节点小于他的儿子,大堆的父节点大于他的儿子。len表示堆中的所有结点的数量。在构造堆的时候用这个比较快。7.模拟堆中h_swap。h[maxn] 表示堆。
2023-07-11 08:36:00
82
1
原创 费解的开关题解
1.通过枚举第一行的所有情况枚举一遍,只要将某一行的0的下一行该位置进行turn,则该情况就有唯一确定的方案,只需要将最后一行判断是否全为1并判断最小步数。由于使用二进制会改变map数据,因此需要cope备份一下。通过0-31的二进制的每一位就可以表示第一行的所有方案。2.将某一行的0的下一项同一位置turn。1.通过2进制枚举第一行的所有情况。3.判断是否满足条件并判断最小步数。使其不会影响下一次枚举。
2023-07-11 08:15:18
53
1
原创 Trie字符串统计
son[maxn][25] 表示结点的儿子 其本身的值代表结点编号 如son[1][0] 就代表1号结点的a儿子;cnt[maxn] 表示以莫一个结点为结尾的单词出现的个数相当于标记此处有个单词,idx 表示结点序号通过idx可以使每一个结点都有唯一的序号。如cnt[3]表示以3号结点的单词出现个数。Trie字符树,可以高效存储字符串。p 代表存储字符串现在在那个结点。
2023-07-10 15:10:00
57
1
原创 kmp思路想法
然后j从1开始继续匹配,现在如果有人告诉你p[]中j——ne[j]已经与s[i]之前的匹配成功,我们只需要继续判断s[i]是否与。kmp算法定义了一个ne[] ne[]数组会告诉我们以下信息,当s[j+1]!=p[i]时按照暴力做法模板串会像右边移动一格,p[j+1]相等,如果相等j,i继续匹配,否则继续递归的找ne[i],当j=0的时候意思是当s[i]之前的都无法与p[j]匹配。现在有两个字符串s[] p[],s[]为匹配串,p[]为模板串,我们需要在s[]中找到p[]串。(kmp用于匹配字符串)
2023-07-10 15:07:57
61
1
原创 单双静态链表模拟数组
链表是由 数据 和 指向下一个结点的地址 所构成的,所以只要将 数组的下标 当作地址保存在ne[]数组中,数据保存在e[]中便可构成链表,而双链表中了l[]双链表 会有head 和 last两个变量分别表示链表的左右两端但是一般将数组下标为0,1的元素看作。单链表以般使用一个head指向链表的第一个结点并且head(初始)=-1,这样子在。保存指向左边的指针,r[]保存指向右边的指针,e[]保存数据。插入操作中,-1将是最后一个结点所指向的位置,所以遍历函数如下。初始化r[0]=1,l[1]=0;
2023-07-10 15:03:42
90
1
原创 汉诺塔递归简单思想
首先递归你需要把他想象成已经完成的最后一步比如你上一个楼梯 你要把你想象成站在最后一级楼梯考虑问题,汉诺塔也是一样的。2.递归操作: (A上除最后一个的所有盘子)->B (A上盘子n)->C (B上所有盘子)->C 、操作步骤:(A上除最后一个的所有盘子)->B (A上盘子n)->C (B上所有盘子)->C。当汉诺塔n=n时 假设柱子是A B C 盘子编号是 1,2…当汉诺塔n=2时 假设柱子是A B C 盘子编号是 1,2。操作步骤:1->B 2->C 1->C。
2023-07-10 14:59:59
49
1
原创 逆序对的数量
主要思想:当两个有序数列左边的第i个数据>右边的第j个数据,则说明i~mid的数据都>右边的第j个数据所以res+=mid+1-i;
2023-07-10 14:51:44
68
1
原创 快速排序算法
2.(光标查找)左右两个光标分别找小于参考点,大于参考点的数据,一旦找到就停下,当i和j没有相遇就互换i和j光标所对 应的数据;快排思想:通过参考点将数组左侧的全换成小于参考点的右侧的全换成大于参考点的,从而定死参考点位置;1.(定参)找到参考点(随机 l,r,l+r>>1,该题需要l+r>>1 才能ac);快排模拟网站:https://visualgo.net/zh/sorting。3.(递归两侧)直到l>=r即这个范围只有这一个数据;
2023-07-10 11:05:50
72
1
原创 java.sql.SQLException: Cannot create
问题描述在sql查询的时候爆出了如下错误。 原因分析:damain目录下面的实体类,使用其他构造器后覆盖无参构造器。导致sql语句在查询时无法创建实体类对象。解决方案:只需要在domain下面的实体类添加无参构造函数即可。...
2022-05-22 15:55:34
514
JAVA课设病毒路径管理系统
2022-07-01
JAVA课程设计,通讯录管理系统(包含UI界面)
2022-07-01
论坛管理系统课程设计C语言
2022-07-01
三国关系系统课程设计C++
2022-07-01
课设车型管理系统C语言
2022-07-01
大一课设宿舍管理查询系统C语言
2022-06-30
伪代码生成器PseudoCodeTool
2022-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人