摘要: 基姆拉尔森公式 (Kim Larsen Formula) 原理:O(1) 数学公式直接计算。 默认基准:公元1年1月1日为星期一。 核心调整:1月和2月视作上一年的13月和14月 (m+=12; y--;)。 代码公式:// 0=周一, 1=周二 ... 6=周日 int w = (d + 2*m 阅读全文
posted @ 2025-12-15 11:23 Sunstreamy 阅读(1) 评论(0) 推荐(0)
摘要: std::stoi: String to Integer (转为 int) std::stoll: String to Long Long (转为 long long) 阅读全文
posted @ 2025-12-13 22:57 Sunstreamy 阅读(4) 评论(0) 推荐(0)
摘要: 1. 标准库 std::stack (最常用) 头文件:#include <stack> 操作 代码 说明 注意 定义 stack<int> s; 定义一个整型栈 入栈 s.push(x); 放入元素 x 看顶 x = s.top(); 获取栈顶元素 不删除元素 出栈 s.pop(); 删除栈顶元素 阅读全文
posted @ 2025-12-12 22:47 Sunstreamy 阅读(4) 评论(0) 推荐(0)
摘要: 头文件:#include <vector> 特点:连续内存,尾部操作 O(1),中间插入/删除 O(N)。 1. 初始化 (生) vector<int> v; // 1. 空数组 vector<int> v(10); // 2. 1个 vector,大小为10,值全为0 vector<int> v( 阅读全文
posted @ 2025-12-04 20:00 Sunstreamy 阅读(2) 评论(0) 推荐(0)
摘要: 1. 必杀技:字符串切割 (Split) 强绑定用法:这是最常用的场景,配合使用实现 Split。 string str = "2023-10-01"; stringstream ss(str); string segment; // 重点:getline 第三个参数是分隔符 //从ss中按'-'读 阅读全文
posted @ 2025-12-04 19:23 Sunstreamy 阅读(4) 评论(0) 推荐(0)
摘要: 问:(c >> 6 & 1) * 2 - 1是什么意思? 答:对于任意小写/大写英文字母字符,其 ASCII 码的二进制都形如 01xxxxxx;对于任意数字字符,其 ASCII 码的二进制都形如 0011xxxx。 根据这一特点,可以根据二进制从低到高第 6 位(设二进制最低位是第 0 位)是 0 阅读全文
posted @ 2025-12-03 21:52 Sunstreamy 阅读(2) 评论(0) 推荐(0)
摘要: 在补数据结构基础时在灵神题单学到的技巧,前缀合容易想到,结合哈希表和题意的优化,避免暴力比较巧妙 题目在这 下次忘记的时候再回来看看 阅读全文
posted @ 2025-12-02 21:54 Sunstreamy 阅读(3) 评论(0) 推荐(0)
摘要: 跳转原题 解法 思考水是怎么被接住的?其实就是左右较高的柱子围住中间较矮的柱子,那么中间的水就被接住了,也就是说左右的高度决定了水的上限,难点在于下限的凹凸不平,这时候不妨考虑按列求解,仔细观察题图不难发现每一列的水只由左、右两边最高的那两列和自己的高度决定,他们的差值就是这一列接住的水。 解法一: 阅读全文
posted @ 2025-09-28 11:48 Sunstreamy 阅读(9) 评论(0) 推荐(0)