11 2019 档案
摘要:这题显然跟 "区间覆盖" 是一样的,而且值域在 $1000000$ 以内,不用离散化,直接贪心求解即可。 具体地:设 $nxt[i]$ 为从值域 $i$ 出发,能到达最远的右端点。 一段段地跳,直到跳到终点 $T$ 或者跳不动了。 $Tips$:注意这里是点覆盖,而区间覆盖是边覆盖,要注意跳的细节。
阅读全文
摘要:暴力 其实这题的暴力就是个模拟。暴力扫一遍 \(conn(s_1, n_1)\),若出现了 \(res\) 个 \(s_2\)。 答案就是 \(\lfloor res / n1 \rfloor\)。 时间复杂度 \(O(T(|s_1|n1))\)。 算法1:考虑匹配一个 s1 所需的最小字符数 考虑
阅读全文
摘要:算法1: 差分约束 + 枚举 O(Tn2028) 由于牵扯到 $[i 8 + 1, i]$ 这段区间的和的约束,所以用前缀和更好表达一些。 设 $num[i]$表示 $i$ 时刻有多少人申请上岗, $x[i]$ 为 $i$ 时刻实际上岗的人数 ,$s$ 为 $x$ 的前缀和数组。 则应该满足的约束条
阅读全文
摘要:听书上说有贪心 + 数据结构的做法,研究了一下。 朴素贪心 考虑把所有线段按照右端点 $b$ 从小到大排序,依次考虑每一条线段的要求: 如果已经满足要求则跳过 否则尽量选择靠后的数(因为之后的线段的右端点都在这条线段的右边,这样容错更高) 所以,我们可以建一个数组,$d[i]$ 表示 $i$ 数字是
阅读全文
摘要:01规划 设答案为 $ans$。 二分答案,设当前二分值为 $mid$。 设一个环 $S$ 的边权为 $t_1, t_2, t_3...$,点权为 $f_1, f_2, f_3...$ 若 $mid ans$ 每次 $check$ 的时候,一条 $u$ 指向 $v$,边权为 $w$ 的边权变为: $
阅读全文
摘要:64 pts 类似 "乌龟棋" 的思想,由于 $64pts$ 的 $m 0)$ 小优化:发现所有状态只会从$A, B, C include using namespace std; const int N = 45, M = 6, P = 998244353; int n, m, a[N][M];
阅读全文
摘要:Day 28 初赛了,自己就看了看往年题,有点不自信。问了发现考场可以用 $Dev c++$,于是: 数学题 $ $ 暴力题 程序阅读题 $ $ 运行程序调试题 补全代码题 $ $ 实验题 + 手造样例测试题 最后一题博弈论做过相似的,所以比较简单~~虽然最后sb错了一道最简单的~~ Day 19
阅读全文
摘要:~~由于我太菜了,不会矩阵乘法,所以给同样不会矩阵乘法同学的福利~~ 首先发现这题点很多边很少,实际上有用的点 $ include include include include using namespace std; const int N = 205, M = 105; struct Edge
阅读全文
摘要:学习自: "@秦淮岸" Force 如果没有限制条件,那么这道题就跟战略游戏 $or$ 没有上司的舞会是一样的,只需$dp$一次就够了,所以很容易想到一个 $44pts$ 的暴力:对于每次询问,都跑一遍 $dp$,其中让 $a, b$ 两个点强制转移(放/放)即可。 Thoughts 无解情况 显然
阅读全文