摘要:
大型补档计划 "题目链接" 若 $K = 1$,显然,$B[i]$ 取 $A$ 序列的中位数时最优。 考虑扩展,我们只需要把 $A$ 分成 $K$ 段,每段内, $B$ 最优的取值即这一段的中位数 设 $g(l, r)$ 为 $[l, r]$ 这一段 A 数组序列的中位数 设 $f[i][j]$ 为 阅读全文
摘要:
大型补档计划 "题目链接" 考虑模拟这个过程。 $f[i][0 / 1]$ 表示从第 $i$ 个围栏的 左/右端点开始往下走,走到原点的最小花费。 转移很容易想到,就是考虑找到一个往下走第一个碰到的围栏 $j (j include using namespace std; const int N = 阅读全文
摘要:
大型补档计划 "题目链接" 如果整体来做,发现既有加法,也有整体异或,这样不容易搞。 考虑异或,各个位置互不干扰,按位考虑一下。 枚举每一位 $k$ 发现如果设 $f[u]$ 为这一位的期望结果还是不好做。 由于 每个位置只有 0 或者 1 两种操作,不妨设 $f[u]$ 为 $u n$ 这一位路径 阅读全文
摘要:
"题目链接" 大型补档计划 $f[i][j]$ 表示第 $i$ 个国家,获得 $j$ 个国家支持,用的最少花费 $f[i][0] = 0$ $f[i][sz[i]] = w[i]$ 对于每条边 $(u, v)$ 枚举 $u$ 的第二维 $j$,$v$ 的第二维 $k$ $(k include inc 阅读全文
摘要:
由于木块可以由一些木块的消除,使两边相同颜色的合并 所以我们设定一个归并方式,即每个区间记录一下右边的延展性。 (等于左边找右边) 设 $f[i][j][k]$ 为$[i, j]$ 区间,右侧有 $k$ 个颜色 $= a[j]$ 的。 考虑两种转移方式。 第一种操作:直接搞掉右边的。 设 $i in 阅读全文
摘要:
1 {} 2 [] 3 () $f[d][a][b][c]$ 表示 $[i 2 1, j 2]$ 这段区间 深度为 d $1$ 有 $a$ 个, $2$ 有 $b$ , $3$ 有 $c$ 个 初始状态 $f[1][0][0][1] = 1;$ $f[1][0][1][0] = 1;$ $f[1][ 阅读全文
摘要:
"题目链接" 大型补档计划 没想出来去看题解了。。。 关键是发现无论怎样括号嵌套,每个元素始终只有对答案的贡献为 + a[i] 或者 a[i]。 而且第一个必然贡献是 +1, 第二个必然是 1。 所以用背包跑出来每个元素应该加还是减。 然后就是构造了。 观察到每个减操作实际上是把一个位置的贡献取反, 阅读全文
摘要:
"题目链接" 大型补档计划。 比较显然的dp 设 $f[i][j][k]$ 为前 $i$ 次,擂台上了 $j$ 次,空闲容量(背包 使用的)为 $k$ 的概率。 不上擂台的转移:$f[i + 1][j][k] += f[i][j][k] (1 p[i]) / 100$ 上擂台: $f[i + 1][ 阅读全文