随笔分类 - 学习笔记
摘要:树剖 参考题单 【模板】重链剖分/树链剖分 树状数组模板 struct bit { int c1[N], c2[N], mod; int lb(int x) { return x & (-x); } void add(int l, int r, int v) { int p = 1ll * (l -
阅读全文
摘要:数据结构优化DP 参考题单 Cleaning Shifts S 区间覆盖问题 区间加区间最值线段树维护 cin >> n >> m >> e; m++, e++; for (int i = 1; i <= n; i++) c[i].in(); T.build(1, 1, e); sort(c + 1
阅读全文
摘要:莫队 个人理解: 这是一种较为暴力的算法,适用于解决维护序列区间操作的问题。 主要思想: 把所有的操作离线,按某种方式重新排序。 操作过程中不断转移当前区间的答案。 (\([L, R]\Rightarrow [L \pm 1, R \pm 1]\)) 希望转移的复杂度尽量的小(\(O(n\sqrt{
阅读全文
摘要:万能的宏 在调试代码的时候,如果想一次性输出好多变量的值和它们对应的名字,又不行写太长的printf,怎么办? namespace DEBUG { template <typename T> void _debug(const char* format, T t) { cerr << format
阅读全文