摘要: 链表 当你使用数组删除其中某个节点时,通常需要将后面的节点全部向前移动,这样不仅很麻烦还时间复杂度高。 链表就弥补了删除时间复杂度高的缺点,他的删除操作和插入操作只需要 \(O(1)\) 的时间复杂度,但有优势就有劣势,链表的查询和修改操作都需要 \(O(n)\) 的时间复杂度。 链表的存储可以是连 阅读全文
posted @ 2025-10-17 14:34 Luowj 阅读(28) 评论(0) 推荐(0)
摘要: 数列分块 其实,分块是一种思想,而不是一种数据结构。——OI-wiki 分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 分块的时间复杂度主要取决于分块的块长,快长一般取 \(\sqrt{n}\) 时,时间复杂度时最优的。 P 阅读全文
posted @ 2025-10-17 09:14 Luowj 阅读(38) 评论(0) 推荐(0)
摘要: 梦中所见是月色下随歌起舞的幻影, 仿佛是遥远往昔那白纸一般的少年; 又仿佛是怨憎与苦难悉数消散之后, 才最终显露出的易碎而单纯的自我。 浮浪人并不知道自己拥有做梦的机能, 以为这或许是学者们的小把戏, 又或许是曾经那颗心脏微不足道的抵抗。 「你曾获得过梦寐以求之『心』,」 「可那不过是谎言与欺瞒的道 阅读全文
posted @ 2025-10-16 20:24 Luowj 阅读(40) 评论(0) 推荐(0)
摘要: 位运算那些没用的小技巧 消去最后一位的1 x & (x - 1) 交换两个数 a ^= b; b ^= a; a ^= b; 检查一个数的奇偶 x & 1 求x的绝对值 ~(x >> 31) ? a : ~a + 1 取两个数的最大值 x ^ ((x ^ y) & -(x < y)) 取两个数的最小 阅读全文
posted @ 2025-10-16 20:23 Luowj 阅读(26) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-10-16 20:23 Luowj 阅读(0) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-10-14 20:19 Luowj 阅读(0) 评论(0) 推荐(0)
摘要: 思路 本题可以暴力枚举解决,但是直接暴力枚举又会超时 怎么办呢,注意到这个序列中只有 \(0\) 和 \(1\),长得像二进制。直接把二进制强压成十进制就不用一位一位的比较了 枚举字符长度(难点) + sort排序 + 输出(坑点) 本题坑点 这题的坑挺多的。。。 USACO的输出规矩真多 每输入8 阅读全文
posted @ 2025-10-06 09:00 Luowj 阅读(27) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-10-03 19:29 Luowj 阅读(1) 评论(0) 推荐(0)
摘要: 序列dp 最长不下降子序列 我们都会 \(O(n^2)\) 的做法,这里讲的是 \(O(n\ log\ n)\) 的做法。 依旧是求 \(f(i)\) 表示以 \(A_i\) 为结尾的最长不下降子序列的长度。 但我们不再是通过枚举去找到一个最优的 \(A_j \le A_i\),而是维护一些信息直接 阅读全文
posted @ 2025-09-07 18:39 Luowj 阅读(50) 评论(0) 推荐(0)
摘要: 例题: 洛谷 P5905 【模板】全源最短路(Johnson) 题目大意:我们需要在大约 \(O(nm logm)\) 的时间复杂度下处理带负权图的全源最短路 我们熟知的最短路算法有SPFA、dijstra和floyd,但是他们都无法达到优秀的复杂度 SPFA虽然理论上是跑不满的,但是稍加卡卡就会被 阅读全文
posted @ 2025-08-21 11:03 Luowj 阅读(107) 评论(0) 推荐(0)