magic-gadget 今天偶然看到的一个很神奇的gadget和攻击方法 令我很震惊 原来不是pop ***; ret;这样才叫gadget 只要能被我们所利用 那其就能被称之为gadget 不得不佩服古人的智慧 同时对partial overwrite这门技术有了新的理解 很多时候不能或者说很难泄露libc基址 便可以利用程序中已存在的libc中的地址进行partial overwrite 此时 偏移 is all y 2026-02-11 pwn #magic-gadget #partial overwrite
transformer 最近大语言模型(LLM)的各种应用好像都比较火热,我也来凑凑热闹浅浅研究一下AI 虽然被一堆眼花缭乱的词汇弄得有些茫然,不过还是从其最基础的架构开始学习… 从传统的机器学习,统计学习到如今的强化学习,深度学习,神经网络,包括以CV(computer vision)为起源发展起来的FNN(全连接神经网络),CNN(卷积神经网络),RNN(循环神经网络)等等,可以自行了解 它们虽风靡一时,但仍存在一些 2026-01-25 AI #attention #transformer
滑动窗口 滑动窗口插个眼 以后写 先做题… 3.无重复字符的最长字串 解: 滑动窗口 123456789101112131415class Solution {public: int lengthOfLongestSubstring(string s) { vector<int> last(256, -1); // 记录每个字符上一次出现的位置 2026-01-19 数据结构与算法 #滑动窗口
子串 子串字符串原来也是一种数据结构 子串又是什么阴 以后再说… 560.和为k的子数组 解: 前缀和 + 哈希表 1234567891011121314151617181920class Solution {public: int subarraySum(vector<int>& nums, int k) { unordered_map &l 2026-01-19 数据结构与算法 #LeetCode #子串
数组 数组看着就简单好欺负 以后再写… 启动! 53.最大子数组和Kadane算法 DP + 贪心 很好理解 解: 123456789101112class Solution {public: int maxSubArray(vector<int>& nums) { int cur = nums[0]; int ans = nu 2026-01-19 数据结构与算法 #数组
矩阵 矩阵线性代数学得怎么样? 没想到矩阵也是一种数据结构? ai主战场 数学还是很智慧的… 插眼… 慢慢写… 73.矩阵置零 解: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950class Solution {public: void setZeroe 2026-01-19 数据结构与算法 #矩阵
二叉树 二叉树先前学习的数据结构中链表和数组均表示线性结构 然而现实世界十分复杂,怎么可能事物之间都是线性关系呢? 因此引入了树这种数据结构 树是一种用于描述层级关系的非线性数据结构,由若干节点组成,其中存在一个唯一的起点(根节点root),其余节点通过父子关系组织起来,很好想象吧 先来看看最典型的树,二叉树,一种特殊的树结构,其中每个节点最多包含两个子节点 各种乱七八糟的定义先不管(自己问豆包qwq) 2026-01-19 数据结构与算法 #LeetCode #二叉树 #数据结构
图论 图论图是什么??? 感觉好神秘啊 我也不知道 但是 应该是一种神秘的数据结构吧! (我还没学离散数学 先摆了! 虽然好像没什么关系 但是先摆了!) 200.岛屿数量 深度优先算法和广度优先算法 应该蛮好理解的吧… DFS解法深度优先搜索 1234567891011121314151617181920212223242526class Solution {public: int m, 2026-01-19 数据结构与算法 #LeetCode #图
二分 二分查找一种在高中数学中便见过的算法思想 思想本身不难理解 难点在于边界的讨论 日后再写吧… 简单做了一道题… 35.搜索插入位置 解: 123456789101112131415161718class Solution {public: int searchInsert(vector<int>& nums, int target) { 2026-01-19 数据结构与算法 #LeetCode #二分查找