- 博客(5)
- 收藏
- 关注
原创 不同时间复杂度的算法不超时取到的n上限
例如某题n<10^5,那O(n^2)一定会超时,就可以避免写完之后发现超时,直接思考O(nlogn)优化即可。大部分OJ在线评测系统1 秒内,程序大约能执行 1e7 ~ 1e8(1000万 ~ 1亿)次基本操作。 (n=1e4 是 1e8,极限)而大部分题目C++都会限时1s。
2025-08-09 11:40:50
253
原创 KMP算法:判断一个字符串是否为另一个字符串的子串、查找位置
如果一个长度为len的子串的最长公共前后缀长度为a,那么长度为len+1的子串的最长公共前后缀长度取决于后缀后面新加入的字符和前缀后面的字符是否相等,例如aba和abab,末尾字符为b,前缀后一位字符为b,相等,所以最长公共前后缀长度就为a+1 = 2。问题背景:给出两个字符串 s1 和 s2,若 s1 的区间 [l,r] 子串与 s2 完全相同,则称 s2 在 s1 中出现了,其出现位置为 l。现在从i = 2开始匹配,i=2,3已经匹配成功,从i = 4继续判断是否匹配,j = 2。
2025-08-07 00:09:57
343
原创 java: 错误: 不支持发行版本 5
系统环境变量和项目环境变量不一致。大部分情况因为切换jdk版本忘了修改系统环境变量。右键 “此电脑”→“属性”→“高级系统设置”→“环境变量”。
2025-07-29 16:27:31
136
原创 前缀和的概念
给定由 n 个正整数组成的序列 a1,a2,⋯,an 和 m 个区间 [li,ri],分别求这 m 个区间的区间和。枚举的时间复杂度为O(m*n),前缀和只需遍历一遍计算出前缀和并储存起来,时间复杂度为O(n)。指的是从数组第一个元素(起点)开始,到第。前缀的和就是前缀和,主要用于计算区间和。个元素结束的连续子序列。
2025-07-22 11:11:04
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅