摘要:
$$ ln(x + 1) \ = \ x \ - \ \frac{x2}{2} \ + \frac{x3}{3} \ - \frac{x^4}{4} \ + \ 余项$$ 阅读全文
摘要:
Variables and Basic Types Section 2.1 Primitive Built-in Types 2.1.1 Arithmetic Types include two categories: Integral types(character and boolean typ 阅读全文
摘要:
Description 有 \(\ n \ \) 个房间,每个房间有一个犯人 犯人可以信仰$ \ \ m \ \ $种宗教其中的一种 若相邻的房间犯人的信仰相同,就有可能发生越狱 求越狱的情况总数 Solution 发现直接求越狱的情况总数并不好求 运用容斥原理,越狱的情况总数 \(\ = \ \) 阅读全文
摘要:
Descrioption 对于给定的外籍飞行员与英国飞行员的配合情况, 找出一个最佳飞行员配对方案 使皇家空军一次能派出最多的飞机 Solution 二分图最大匹配裸题 Code cpp include using namespace std; const int N = 205; int n, m 阅读全文
摘要:
Description 给定多个 $ x_i \ x_j $ 是否相等的条件 判断能否实现给每个 $ \ x_ i \ $赋上合适的值满足条件 Solution 考虑用并查集实现 若两个数相等,则表示它们的祖先相同 给出的条件要先排序,把所有相同的条件放在前面先处理 数的范围很大,并查集数组开不下, 阅读全文
摘要:
题意:每次询问一个区间里的数是否各不相同 显然,当一个区间里的数各不相同时,它们的种数就是区间的长度 莫队 可以快速地求出区间的颜色种数,因此强制离线计算即可 cpp include using namespace std; const int N = 100005; int n, q, a[N], 阅读全文
摘要:
线段树 题意: 给定一个01串 要求支持两种操作: 1 区间 xor 2 区间求和 做法: 普通的线段树的求和 用 rev 表示该区间是否被 xor 因为 xor 两次就相当于没有 xor 所以当区间 xor 的时候 对 rev 取反, sum = 区间长度 sum code: cpp includ 阅读全文
摘要:
线段树模板题 此题关键在于 pushdown 考虑加法标记 lt1 和 乘法标记 lt2 考虑到乘法优先级 要 高于 加法优先级 因此在 pushdown 里先 传 lt2 再传 lt1 注意 lt2 传的时候,两个儿子的 lt1 也都要乘上 lt2 code: cpp include define 阅读全文
摘要:
st 表 和 分块 都可做 还跑得很快 然而我只会线段树 题目要求是线段树的插入操作 直接考虑建一棵足够大的线段树,插入操作就变成了 单点修改操作 剩下的查询直接查询$ (x \ \ L \ + \ 1, \ x )$ code: 阅读全文
摘要:
平衡树练手题目 刚好学平衡树,这道题直接查询前驱和后继,然后比较差的绝对值即可 不要忘记删除 cpp include define pushup(u) if(u ls siz) u siz = u ls siz + u rs siz, u val = u rs val define new_Node 阅读全文