07 2022 档案
摘要:图的基本概念 定义 图 (Graph) 是由若干给定的 顶点(vertex) 及连接两顶点的 边(edge) 所构成的图形。 功能 用来描述某些事物之间的某种特定关系 例如:顶点用于代表事物,而边用于表示两个事物间所具有某种关系。 组成 二元组: :点
阅读全文
摘要:并查集 并查集,用于处理一些不交集的合并及查询问题。 可以支持以下操作 建立集合 查找祖先 合并集合 建立并查集 没有什么好说的,对于每一个节点,一开始自己是一个独立的集合。 const int MAXN = 1e5 + 5; int fa[MAXN]; void Make() { for (int
阅读全文
摘要:树状数组的概念 树状数组(Binary Indexed Tree(B.I.T))是一个区间查询和单点修改复杂度都为 的数据结构。主要用于查询任意两点之间的所有元素之和。 引入 问题的提出 有一个一维数组,长度为 。 对这个数组做两种操作: 修改,对第 之间
阅读全文
摘要:大致思路 首先,我们要转化问题,假设弹珠总价值为 ,那么背包的容积则为 让你求给的这些弹珠是否恰好有一种选法能填满这个背包。但不过数据较水,朴素的多重背包也能过。 Code #include <cstdio> #include <iostream> #includ
阅读全文
摘要:Solution 很显然是一道贪心的题目。 我们预处理得到每个点左边离它最近的加热炉的位置,然后可以用一个指针表示当前可照亮的点的位置,然后找到离它最远但可以照亮它。 后面的点的位置,然后一直这样暴力枚举下去,用 进行记录,最后输出 及答案。 但要注意在求的过程中判断无解情况
阅读全文
摘要:题目分析 思路:模拟。 所有选手的的 ? 都以 + 来计算,算出每个选手的 AC 数,时间总和,最后以再排序即可。 Code #include <cstdio> #include <algorithm> #include <iostream> #include <cstring> using nam
阅读全文
摘要:思路 好像还没有人写三分,那我就来水一篇三分的题解。 我们可以选择三分平均高度,通过 check 函数得到对应的最小代价,我将在代码中给出详细的注释。 Code #include <cstdio> #include <iostream> #define int long long using nam
阅读全文
摘要:思路 很显然这是一道 dp。 定义状态 表示 i 到 j 吃到的最大蛋糕面积。 由于是一个环,所以我们需要开两倍的空间,将它转化为链。 注意开 long long。 Code #include <cstdio> #include <iostream> #include <cst
阅读全文
摘要:思路 求最小值,很有可能是二分,我们再看数据范围,就应该往这方面想。 其实这道题最坑的还是 check, 是真的不好想。 我们不难写出一个 的 check。 bool check(int x) { int sum = 0; for (int i = 1; i <= n;
阅读全文
摘要:思路 看到这道题,我首先想到求到数组 的和 ,和数组 的和 。 如果 , 那就不可能让两个数组完全相同。 但是样例就已经把这种方法否定了。 但是我们不难发现: 若 数组中的这个值小于 数组中的这个值,则增加 数组中的数字。如果
阅读全文
摘要:思路 我们可以将这一个矩阵转化为一个一维数组。 之后输入的 n 个数中,有相同的,就打上标记。 由于矩阵是 3 * 3 的,所以我们可以用 的时间复杂度进行判断。 Code #include <cstdio> const int MAXN = 15; int n; int a
阅读全文
摘要:思路 这只是一道普通的模拟题…… 这道题中无解的情况有两种: 不是一位数并且首位为 0。 每一位上为两个不同的值。 除此之外,我们要找到最小的 好数, 就应该把首位赋值为 1, 其余赋值为 0。 Code #include <cstdio> #include <cstring> using name
阅读全文
摘要:定义 我们给定两个数组, 表示 的价值, 表示选取 的代价。如果选取 ,定义 否则 。每个物品只有选和不选的两种方案,求一个选择的方案使得 $R = \frac{\sum (a_i \cdot x_i)}{\sum(b_i
阅读全文
摘要:Floyd Floyd 是最简单的一种求最短路的算法,用于计算任意两点间的最短路。其时间复杂度为 , 并且它适用于负权图。 算法描述: 初始化 若两点 和 有一条边,则 否则将其赋值为极大值,一边用 0x3f3
阅读全文
摘要:题目大意 第一行输入 代表有 个同学, 代表卡车最多运的物品重量。 第二行输入 个数字 表示第 个同学的行李总量。 每组数据为 个子问题:一定将第 个同学的行李放进卡车,而卡车还会有剩余空间,放上第 到 同学的
阅读全文