摘要:
\(\text{Update:}\) 2024.10.23 新增数位 dp 以及两个板子 删除 平衡树,主席树,珂朵莉树 删除 Tarjan (缩点,割点) 历史更新记录 2024.10.14 简要添加了树上背包的板子 2024.10.10 更新了整数二分的板子 添加了二分中位数的板子 添加了二维前 阅读全文
摘要:
\(\text{2023.7.29 Update:}\) 根据第二条评论的大佬的说法,使用 timeb 支持生成毫秒级别的随机数。 于是本博客中生成随机数的方式改为了使用 timeb。 这样就不会出现浪费对拍的问题,进而,删除了代码中所有的 Sleep(1000)。 尽量标注了所有代码区的代码名称, 阅读全文
摘要:
2021 江苏省赛 2024-2025 Winter Training Match B (Div.1) GYM 5小时单挑,前 2h 依次过了 AICKJ,3.5h 出 D。H 最后 20min 出思路,没写完,结束后出的 H。 第一次写这种做题记录博客,就是趁着有空记录一下场上怎么想的,会写一些关 阅读全文
摘要:
数位 dp 本质是记忆化搜索。 \(lim\) 为 \(1\),表示当前位之前都是最大的数,当前位的大小受限制,不是 1~9,是 1~up。 \(zero\) 为 \(0\),表示这一位之前为前导 0。 \(lim\) 的转移:lim && (i == up)。 \(zero\) 的转移:zero 阅读全文
摘要:
模板题 有两种物品。第一种权重 \(A\),花费 \(B\)。第二种权重 \(C\),花费 \(D\)。每种物品均可以买任意个,求权重总和至少为 \(n\) 的情况下,最小的花费 \(ans\)。 结论:设第一种为性价比高的物品。第二种物品购买的数量一定在 \(0 \sim A\) 之间。其中 \( 阅读全文
摘要:
二维前缀和 求二维前缀和后,能够实现 \(O(1)\) 求原数组二维区间和,但是不支持修改。 ll n, m, sum2[N][N], c[N][N]; void Sum2_pre() { fr(i, 1, n) fr(j, 1, m) sum2[i][j] = sum2[i-1][j] + sum 阅读全文
摘要:
二分中位数 在一个序列中,小于等于 \(x\) 的元素个数如果大于等于 \(\frac{n+1}{2}\),那么中位数一定小于等于 \(x\)。 Check 的判出条件为小于等于 \(x\) 的元素个数。 const int N = 1e5 + 32; ll n; ll a[N]; bool Che 阅读全文