随笔分类 - 学习笔记
摘要:prelogue 怎么感觉我这个人和随机化关系这么好。 鲤鱼我是从这篇博客中进行学习的。其中也有很多地方借鉴了大佬的博客,侵权删。 Pollard-Rho 算法 Pollard-Rho 算法是一种求非 1 非自身的因子的高效算法。 main body 我们求因子平常是用的复杂度为 \(O(\sqrt
阅读全文
摘要:TJDXT 先放代码之后再说原理,如果实在不想知道原理,就直接背过,但是建议看一下下面的注意事项和后面的前几个原理。 代码实现 #include <bits/stdc++.h> using namespace std; #define ll long long #define rl register
阅读全文
摘要:珂朵莉树 ODT 来源 CF896C 适用范围 是一种支持以下操作的暴力算法: 区间修改 区间赋值 求区间内的第 \(k\) 小 求区间 \(k\) 次方和 ODT 本质上是建立在区间赋值的一种操作,有区间赋值的操作的话可以保证时间复杂度均摊为 \(O(n \log \log n)\),但是如果没有
阅读全文
摘要:快排 直接用自带的函数实现即可,sort(起点,终点,排列规则(这个可以没有))。 归并 通常会用来求逆序对。 void merge_sort(int q[], int l, int r) { if (l >= r) return; int mid = l + r >> 1; merge_sort(
阅读全文
摘要:加分二叉树 我们可以枚举中间这个 k 的位置,然后分别递归计算左右子树,这就让我们想到这是一个和区间有关的,我们可以用区间dp来解决。 \(f[i][j]\) 表示 i, j 这个区间的最大分值。用一个很板子的区间dp就可以解决了。 至于求前序遍历,我们也只需要通过递归然后枚举中间的根,第一个满足最
阅读全文
摘要:合唱队形 正反分别求一遍最长上升子序列,然后枚举中间的最高点,计算出来队列里面的最多人,然后就可以知道需要出列的最少人。 过河 tips:两个互质的数字 p,q,他们所不能拼出来的最小的数字是 \((p-1)(q-1) - 1\)。 我们可以用 \(f[i]\) 表示经过长度 i 之间,我们所踩石头
阅读全文
摘要:INTRODUCTION: 这篇博客是针对树形dp中最小支配集的一个通用解法(own perspective),也是本人在做题中总结出的一个规律,如若之前尚未接触过支配集问题,建议先思索下面两个题然后再回来看本篇博客。 题目一:Cell Phone Network G 题目二:消防局的设立 MAIN
阅读全文

浙公网安备 33010602011771号