摘要:
概述 二分法是解决如下最优化问题的利器: 解具有某种意义上的单调性。例如,取值单调,或可行性单调(即可行/不可行的分别是问题边界开始的连续一段)。 解不容易直接求出,但判定一个解是否合法较为容易。 此时则可以二分:维护最优区间,每次判定其中点是否合法,若是则舍弃左区间,否则舍弃右区间(这里我们认为右 阅读全文
posted @ 2023-01-15 10:04
未欣
阅读(116)
评论(0)
推荐(0)
摘要:
双指针 不想写概述。 CF1788D Moving Dots 题意略。 赛时一直在考虑怎么对总集合点数反演,即设法做 dp 如 $f_{i,j}$ 表示考虑完前 $i$ 个有 $j$ 个集合点的方案数。显然这东西做不了,它的后效性强制它再加两维(上一个选的是啥,上上个选的是啥,好像还需要上上个的方向 阅读全文
posted @ 2023-01-15 10:04
未欣
阅读(75)
评论(0)
推荐(0)
摘要:
排序算法 计数排序 计数排序是一种计算每个数字出现次数后做值域上的前缀和以对各元素排序的排序方式。 计数排序是一种非比较排序,即不基于比较的排序。计数排序是稳定的。 具体实现:依次枚举每个元素,将其丢进其关键字对应的桶里(这些桶的管辖范围都是 $1$,也可以认为计数排序就是桶排序的退化)。全部放置完 阅读全文
posted @ 2023-01-15 10:02
未欣
阅读(59)
评论(0)
推荐(0)
摘要:
数据类型 显而易见地,越小的型的运算越快。 大体来讲 long long 的常数比 int 大一倍,但 __int128 的比 long long 大一倍不止(因为没有 128 位机,故 __int128 的实现是“不自然”的)。 short 和 char 的表现特别差,不论什么环境。原因?它们在任 阅读全文
posted @ 2023-01-15 10:00
未欣
阅读(72)
评论(0)
推荐(0)
摘要:
朴素分析 直接暴力统计计算次数。 摊还分析 聚合分析 核心思想:算出总复杂度然后均摊。 例: 1.“栈”:维护一个栈,支持栈顶插入和一次弹出所有元素。 显然 $n$ 次操作至多 $n$ 个点插入,从而最多有 $n$ 个点弹出。 总复杂度 $O(2n)$,均摊复杂度 $O(2)$。 2.$vector 阅读全文
posted @ 2023-01-15 10:00
未欣
阅读(42)
评论(0)
推荐(0)
摘要:
数据类型 整型:原码、反码与补码 首先把整数的真实数值称为真值。 原码:最高位表示符号(\(0=+,1=-\)),后面是其绝对值的二进制表示。 反码:正数的反码等于原码,负数的反码等于原码除符号位外取反所得。\(0\) 见下。 补码:正数和 \(0\) 的补码等于原码,负数的补码等于其反码 \(+1 阅读全文
posted @ 2023-01-15 09:58
未欣
阅读(48)
评论(0)
推荐(0)
摘要:
语法 复杂度分析 常数优化 阅读全文
posted @ 2023-01-15 09:57
未欣
阅读(38)
评论(0)
推荐(0)

浙公网安备 33010602011771号