摘要: link 由数据范围易知,本题为区间 DP。 设状态 $f_{i, j}$ 表示 $i$ ~ $j$ 区间完成涂色时所需的最少的涂色次数 则有转移方程:$f_{i, j} = max{f_{i, k} + f_{k + 1, j}}(k \in [i, j))$ 初值:$\forall i \in 阅读全文
posted @ 2023-03-05 11:47 CKB2008 阅读(14) 评论(0) 推荐(0) 编辑
摘要: link 由于题中涉及“区间”操作等字样,容易想到线段树解法。 考虑如何 pushup 和 pushdown。 一种正常的方法 按照题意模拟,设懒标记 tag 表示数组反转时给这个节点带来的影响。这里仅提供关键函数的代码。 void pushdown(int p) { if (tr[p].tag) 阅读全文
posted @ 2023-03-05 11:47 CKB2008 阅读(13) 评论(0) 推荐(0) 编辑