- 博客(100)
- 收藏
- 关注
原创 剪枝/优化方法
剪去不合法的情况 最优化问题,剪去不能更新状态的分支,如求最小值,如果当前值已经大于当前找到的最小值,那直接剪 排序,优化决策点顺序,如总和有范围,所以可以从大的点开始加入集合 记忆化搜索,记录结果(二进制记录) 双端搜索,一般难题
2024-10-12 21:59:05
133
原创 面试题 - parallelStream() 有什么缺点 - ForkJoinPool,它和传统的线程池(如 ThreadPoolExecutor)的区别
它和传统的线程池(如。
2024-09-21 21:01:57
221
原创 数据库的char 和 varchar 有什么不同
存储不同:varchar存储可变长度的字符,char存储固定长度的字符 存储处理不同:varchar在末尾增加1或2个字节存储字符长度,char会删除字符末尾空格并用空格进行剩余空间填充。 对于经常变更的数据:char比varchar不容易产生碎片 对于非常短的列,char比varchar存储效率更高(因为varchar末尾有存储字符长度) 最大存储容量:char最多只能存放的字符个数为255,和编码无关,任何编码最大容量都是255;varchar就比较复杂了,首先考虑MySQL行的默认最大6553
2024-09-20 15:50:47
444
原创 数据库varchar根据实际字符串的长度分配存储空间,那为什么不能开很大的列
首先,数据库存储时,只会为实际的字符串长度分配存储空间,但是,在没拿到存储引擎存储的数据之前,并不会知道我这一行拿出来的数据到底有多长,所以:
2024-09-20 11:58:44
256
原创 idea问题解决:java: -source 7 中不支持 方法引用 (请使用 -source 8 或更高版本以启用 方法引用)
这个错误信息表明你尝试使用了Java 8中引入的方法引用特性,但是你的编译器设置使用的源代码版本是Java 7。方法引用是Java 8中引入的一个新特性,允许你以更简洁的方式调用方法。或者,如果你使用的是IDE(如IntelliJ IDEA或Eclipse),你需要更新项目设置中的Java编译器设置。要解决这个问题,你需要确保你的编译源代码版本至少是Java 8。有时候,IDEA的全局设置中可能指定了一个较低的Java版本。如果你使用的是Maven,确保你的。
2024-09-03 13:07:49
903
原创 学习Redis踩坑记录
于是我再往上翻了翻,是我在类加载后开启的线程里的无法在redis里找到对应key的消息队列,但是由于我的消息队列异常是在while(true)里的,所以,这个异常就一直报,把真正的错误给顶到最上面去了......我的解决方法是在消息队列异常后就线程休眠20分钟,太菜了想不到有更好的方法。修改后我直接启动,没有杀死原来的线程再启动,于是......它竟然再开了一个线程,并且是一直沿用旧的线程,于是我只好把线程全删了,再启动,配置才生效。
2024-08-27 16:54:40
361
原创 项目初始化踩坑记录
思考过程:突然空了个文件我也不知道怎么办,直接重新下载全部就好了。这个在github上有,但是挺少见的?可能是npm版本的问题?这个没有在github上找到解决方法,于是我在命令行。执行这个之后,就可以重新运行了。
2024-08-26 22:11:40
191
原创 安卓飞机大战设计过程
Android布局文件XML是在res/layout文件夹下的xml文件,里面可以放一些组件启动Activity时, Android 框架会调用 Activity 中的 onCreate() 回调方法,从而加载应用代码中的布局资源;
2024-08-25 11:03:23
1348
1
原创 网络编程---Java飞机大战联机
代码是放在app/lib下的src下的main/java,而与之前放在app/src/main下路径不同。
2024-06-14 15:42:26
391
1
原创 计算机组成实验---Cache的实现
一直在思考如何让发送给主存的信号只有一个时钟周期,由于有 mem_rrdy 的限制,以及不符合打两拍的场景,所以打两拍操作最后是不行的(打两拍可参照inst_valid和inst_out单周期有效的方法,打两拍的应用场景:要在单位信号从0到1,的属于1的那个周期里,发送一个周期的有效信号)还有,块是整块取,块的取址地址要是模四为零的。忘了mem_addr的有效时间只有一个周期,在后面也使用到了它,哭哭。贴一个完整代码input wire inst_rreq, // 来自CPU的取指请求。
2024-06-07 18:48:43
531
原创 [天梯赛] 图上的动态规划与Dijkstra
一开始是想到了要用Dijkstra,但是不知道如何找到多条路径的信息(刚开始是想把所有最短路找到之后再比较找到最大的救援队数量)
2024-04-18 23:01:37
259
原创 [蓝桥杯 | 暴搜] 学会暴搜之路
题目特征:很复杂的排列组合说是暴力,其实就是枚举罢了,再利用dfs一步一步解决。基本上题目一个限制就让函数带一个形参,还得明确最后的搜索结束条件。搜索策略:dfs bfs 贪心??
2024-04-18 22:28:17
524
原创 [做cpu] 第二次仿真实验
实现ori指令后,还得解决流水中数据相关的事,MIPS中只需要解决RAW(在写操作后读),利用数据前推解决。仿真出错原因:在顶层模块中,忘记一个口出来的数据两个流入是不需要再重新命名线的,真的用一个线的名字就好。相隔两条指令, 通过标志位判断直接把回写的内容作为读入译码的数据。
2024-04-04 19:02:18
193
原创 [做cpu]第四章出错总结
2.在defines.v文件里面定义宏变量时,手贱,打上了“;”——马哥:你报错提示在分号出问题,可你这段都没有分号(太有道理了qwq)1.用readmemh读取汇编数据 .data要用绝对路径,路么斜杠 /3.在每一个.v文件的开头 : `include "define.v"4.把文件名打错了可还行。
2024-04-02 22:18:24
114
原创 一道有趣的题
A 和 B在一个初始的数组上分别取,MEX的定义是数组里第一个未出现的元素,所以A和B无论怎么取,最后的结果都不会超过原始数组的MEX_0,所以MEX_0后面的数我们可以不考虑;B肯定是尽量取走较小的f(1),即出现次数为1的数,但是A先出手,A可以先留下较小的f(1),那么B出手肯定得是MEX _0前面的数且第二小的出现次数为1的数。MEX _0前面的数,如果有两次的出现频率,那么B是无法破坏的,所以我们关注只出现一次的数。B是取走一个数,破坏原数组,A可以认为是让一个数保留在原数组里;
2024-03-26 10:21:27
218
原创 二维矩阵内的BFS搜索
1.混境之地1 - 蓝桥云课 (lanqiao.cn)题目解读在思考的时候觉得传送门是个很玄幻的东西,在行走的路径上简直有无数种排列组合,我刚开始还想着怎么排列组合出来。后来发现,,,怎么可能是自己来排列组合,用BFS跑一遍整个矩阵。。。到达每个点,除了上下左右四个方向,如果是到了一个传送门的启动点,更新一下它的传送点的最小距离。遍历过程中,若存在一个方案使得到达的点的距离更小,则更新距离并将该点入队,更新其他点。问题还来到了,如何知道一个点是不是传送门的启动点。由于题目说一个点只能是一个门
2024-03-01 14:06:59
503
原创 BFS在无向图里找最短路径
首先,整体的思路是,小蓝如果起始的能量值够用的话,可以从起点到终点直接最短路径,如果不够的话,肯定是要先经过圣泉并停留一定的时间(这要由能量剩余值和圣泉到终点的路径长度决定),如果是不止一个圣泉,我们要遍历所有圣泉,找到最短路径和。题目给的是一个二维矩阵,每个点可达的地方,就相当于是与它有一条可以连的无向边,然后在无向图中确定最短路径就是广搜BFS,每一轮遍历所有可以到达的结点。第二次是找到圣泉到终点最短距离。要解决这个题,我们得知道:小蓝到终点的最短距离,小蓝到圣泉的最短距离,圣泉到终点的距离。
2024-02-29 17:02:29
390
原创 [图论] 树上不重复权值的路径数
整体思路,枚举路径上每个点,记录这个点 u 可以向上延伸到多远,如果可延伸到 x 点,则这个点对答案的贡献为 dep[u] - dep[x](下文的maxx) + 1为什么枚举是向上延伸?因为可以记录已走过路径中已有的权值,每到一个新的点,只需要知道这个点在已有路径上是否存在。用来实现的数据结构是 map 以权值为键,以出现的深度为值。
2024-02-27 10:53:25
611
原创 [树形DP] 树的最大独立集
这个挺简单的,注意状态转移时,如果选这个点,那么它的子结点状态应该为不选,如果这个点的状态是不选,那么可以在它的子结点里选择:选/不选两个状态,所以最后结果是max挑选。
2024-02-25 20:47:38
384
原创 逆推求期望DP
我的开始的想法:状态设置 dp[i][j] 为玩了 i 个职业 j 个阵营的期望天数,初始值很好解决 dp[1][1]=1 ,但是有个问题,每对 (i,j) 除了边界那里,会由三个地方来决定这一个(i-1,j-1)(i,j-1)(i-1,j),所以???
2024-02-23 18:45:42
379
原创 [树形DP] 最长乘积链
当我们求向上走的最大值时,原理为我到父结点的距离加上父结点到别的点的最远距离,如果父结点到别的点的最远距离经过我时则不能使用,此时就得变成我到父结点的距离加上父结点到别的点的次远距离。最大值与次大值更新原理为:当前结点到子节点的距离加上子节点到叶子结点的最远距离,我们对这些子结点求最大值与次大值即可。对问题进行分析,对每个点dfs去求走不同路的最远距离与次远距离求乘积,时间复杂度为O(n^2)每个合法节点能贡献二个乘积,向下走的最远距离乘次远距离和向上走的最远距离乘向下走的最远距离。看了答案怎么弄的优化。
2024-02-21 10:40:54
425
原创 [字符串] Manacher算法
以o(n)时间复杂度,让字符串中每个位置作为回文中心来计算回文半径的算法,所以回文半径和回文中心是实时更新的。
2024-02-15 15:56:00
420
1
原创 [字符串] KMP与字符哈希
用类似前缀和的形式以便求出任意一个子串的Hash值自然溢出:ull类型的数据,是64位且不包含符号位的数据,溢出相当于是对 2^64 取模。进制baseh[i] 计算的是字符串 s[1-i] 哈希值。
2024-02-15 10:13:28
468
原创 [算法学习] 贝祖定理
裴蜀定理: //设a,b是不全为0的整数,则存在整数x,y使得ax+by=gcd(a,b)//扩展裴蜀定理: //a,b为不小于0的整数,n为整数,是否存在不小于0的x和y使得ax+by=n有解?//1、若n>ab-a-b,有解 //2、若n=0,有解(x=y=0) //3、若n<0,无解(a,b,x,y均不小于0,无法线性变换出负数) //4、若ax+by=n有解,则ax+by=ab-a-b-n无解。
2024-02-14 10:43:04
391
原创 [算法学习] 逆元与欧拉降幂
如果要求 x^-1 mod p ,用快速幂求 qmi(x,p-2) 就好。思路:找到因数 i,phi / i * (i-1),除干净,判断最后的n。
2024-02-12 21:41:15
411
原创 [算法学习]
两个数的最大公约数与最小公倍数相乘等于这个两个数相乘。c++有求GCD和LCM的函数,要加上两条下划线。lcm很容易溢出,尽管避免了,但可能还是不可避免。最大公约数GCD,最小公倍数LCM。
2024-02-11 11:07:12
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人