摘要:
## **Peaceful Teams** >$n$个运动员,要分成$t$个队伍,一共有$m$对人不能放在一支队伍里,求方案数,每支队伍至少需要有一个人 > >$1 \leq t \leq n\leq 10$ ### 题解:DFS搜索 >* 通过数据范围考虑爆搜 >* 我们考虑枚举的顺序$O(n!) 阅读全文
摘要:
## 高斯消元法-约当消元法 >* $m$个一次方程,$n$个变量,可以得到$m$行$n + 1$列的增广矩阵 >* 将增广矩阵通过行初等变换为行最简形 >* 我们观察增广矩阵,线性方程组的解有$3$种情况 > * 唯一解 > * 有无穷多组解 > * 无解 >* 高斯-约旦消元法,是高斯消元法的一 阅读全文
摘要:
## 期望的线性性 >![image-20230711134127015](https://zeoy-typora.oss-cn-hangzhou.aliyuncs.com/image-20230711134127015.png) > >![image-20230711140132449](http 阅读全文
摘要:
# 普通线段树 ~~~cpp const int N = 2e5 + 10; int a[N]; struct info { int sum, maxx, minn; }; struct node { int lazy, len; info val; } seg[N > 1; build(id 阅读全文
摘要:
>* 扫描线能做什么? >* 扫描线实际上是一种**思想**,而不是一种数据结构,它是一种**离线算法**,他将**事件点按照某种由你规定的顺序执行**后得到答案,一般需要**线段树或者树状数组**维护,同时有时也需要**离散化** >* 扫描线一般运用在图形上面,它和它的字面意思十分相似,就是一条 阅读全文
摘要:
# 分块思想 >* 其实,分块是一种**思想**,而不是一种数据结构 >* 分块的基本思想是,通过对原数据的适当划分,并在划分后的**每一个块上预处理部分信息**,从而**较一般的暴力算法**取得更优的时间复杂度 >* 分块的时间复杂度**主要取决于分块的块长B**,一般可以通过**均值不等式求出某 阅读全文
摘要:
## LIS or Reverse LIS? >设一个长为 $n$ 的整数序列 $a$ 是 $\{a_1,a_2,a_3,\cdots,a_n\}$,那么 $a'$ 表示 $\{a_n,a_{n-1},a_{n-2},\cdots,a_1\}$,$\operatorname{LIS}(a)$ 表示 阅读全文
摘要:
## B. Binary Cafe >![image-20230703193601400](https://zeoy-typora.oss-cn-hangzhou.aliyuncs.com/image-20230703193601400.png) > >$1 \leq n,k \leq 10^9$ 阅读全文
摘要:
## C. Strong Password >给定一个字符串$s$,一个密码的长度$m$,下界字符串$l$和上界字符串$r$,上下界字符串长度均为$m$,且字符只在0~9范围内,上界字符串的第 $i$ 位非严格大于下界字符串的第 $i$ 位,密码的第 $i$ 位需要位于 $[l_i, r_i]$ 内 阅读全文
摘要:
## E. Tracking Segments >给定初始长度为`n`,且全为`0`的序列`a`,然后给出`m`个线段,如果一个线段中`1`的个数严格大于`0`的个数,那么该线段称为一个漂亮线段,现在给出`q`次操作,每次操作使得序列`a`中位置`x`上的`0`变为`1`,请你求出第一次使得所有线段 阅读全文