会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
blind5883
博客园
首页
新随笔
联系
管理
订阅
2026年3月8日
树上差分
摘要: 本质上还是差分,但是实现形式上差了不少。 树上差分的本质就是根节点的权值等于子树的权值和,从而实现修改一个节点就影响整个包含这个点的节点,这种影响是向上的。设 \(a\) 原数组,\(c\) 为差分数组那么关系就是 \(c_{u} = a_{u} - \sum {c_{son}}\)。 给 \(u\
阅读全文
posted @ 2026-03-08 16:45 blind5883
阅读(3)
评论(0)
推荐(0)
2026年3月7日
创死人的未定义行为(和气死人的编译器优化)
摘要: 溢出时判断 溢出是未定义行为(即 UB),一般情况利用是没有问题的,但是在判断时会出现 bug,如以下代码: int check(int x) { return x + 1 > x; } 在 \(x\) 不等于 \(inf\) 时这个函数的返回值始终为 \(1\),因为溢出是未定义行为,编译器会略过
阅读全文
posted @ 2026-03-07 14:24 blind5883
阅读(2)
评论(0)
推荐(0)
字面量前后缀
摘要: 以前的笔记好像是 AI 生成的,但也还能看看。 前缀 1. 整数字面量前缀 前缀 含义 示例 说明 无 十进制 42 默认十进制 0 八进制 052 八进制数 52,等于十进制 42 0x 或 0X 十六进制 0x2A 十六进制数 2A,等于十进制 42 0b 或 0B 二进制 0b101010 二
阅读全文
posted @ 2026-03-07 11:28 blind5883
阅读(4)
评论(0)
推荐(0)
字符串字面量
摘要: 字符串字面量 所谓字符串字面量,就是我们在代码里面写的 "asdf" 这种东西。在代码中直接可以看见的,直接表达数值的,就是字面量,就像它名字一样,字面量。 而字符串字面量是字面量里面非常特殊的一类,字符串的字面量,本质是就是一个 char 字符数组,而 "asdf" 就是它的数组名,我们之间使用字
阅读全文
posted @ 2026-03-07 11:26 blind5883
阅读(1)
评论(0)
推荐(0)
2025年12月30日
高精度
摘要: 这东西暂且归为数据结构吧 巨难写的东西,恶心死个人。(但用还是要用的) 说实话不常用,但是该用的时候还真没有能替代的。 正常C++,int类型最大长度为9位,longlong约为18位,就算是__int128也不过30多位 而有的时候,我们需要用到几百上千位,这时候就得用到高精度了。 它的中心思想是
阅读全文
posted @ 2025-12-30 20:29 blind5883
阅读(8)
评论(0)
推荐(0)
2025年11月4日
基本的方法
摘要: 定一移一 很多双变量情况,可以先固定一个,然后变化另一起,防止双变换带来的不确定,与时间上的复杂。 二分答案 这也是固定双变量问题的好方法,而时间复杂度只增加的一个 \(\operatorname O(\log n)\)。没事就想想二分答案。 二分答案可以固定一层限制,如选的点等等。大小的限制等等。
阅读全文
posted @ 2025-11-04 21:48 blind5883
阅读(23)
评论(0)
推荐(0)
2025年10月28日
离散化
摘要: 离散化就是把有限数量但范围很大数据,如果不考虑数值大小,只关注相对顺序, 那么可以映射到一个小范围去 分为两种,保序离散化和无序离散化 无序离散化适用于只关注数据本身,而不关注它们顺序的离散化 保序离散化即保证离散化后的数据依旧符合原先顺序不变。 保序离散化需要另开一个数组(vector),来方便进
阅读全文
posted @ 2025-10-28 16:06 blind5883
阅读(9)
评论(0)
推荐(0)
二分
摘要: 二分查询与应用的二分验证答案。 封左,即在一堆符合条件的数里面缩小右边界,最后选一个最靠左的。封右同理。 即封左减右和封右减左。 注意,如果在序列中找不到这个数,那么封左会找到大于它的靠左的数(最后是 \(l + 1\)),同理封右可以找到小于它的最大数。你可以找数据试一试。规避情况即可。 封左 i
阅读全文
posted @ 2025-10-28 16:06 blind5883
阅读(14)
评论(0)
推荐(0)
2025年10月17日
一些特性
摘要: 原始字符串(Raw String Literals) C++ 11特性 一种所见即所得的东西,可以完美返回你想要的字符串,包括换行等等 大体长这样 R"()" 使用方式如 string k = R"(asdfasd sd gf a)"; cout << k << endl; 输出 asdfasd s
阅读全文
posted @ 2025-10-17 20:03 blind5883
阅读(15)
评论(0)
推荐(0)
2025年10月15日
取整技巧
摘要: 上取整 对于上取整,有 \(\lceil \frac a b \rceil = \lfloor \frac {(a + b - 1)} {b} \rfloor\),即 ceil(1.0 * a / b) = (a + b - 1) / b。 上取整的本质就是:余数不为 \(0\),则结果加 \(1\
阅读全文
posted @ 2025-10-15 20:21 blind5883
阅读(26)
评论(0)
推荐(0)
下一页
公告