「POJ 3666」Making the Grade - 线性 DP
题意描述
给定一个长度为 \(N\) 的序列 \(A\),要求构造一个长度为 \(N\) 的序列 \(B\)。\(B\) 满足以下条件:
\(B\) 非严格单调(单调递增或单调递减都可),
在满足 \(1\) 的条件下,使 \(S = \sum_{i = 1}^{N} | A_i - B_i |\)。
仅需求出最小值 \(S\) 即可。题目数据满足 \(1 \leq N \leq 2000\)。
幼儿园里有 \(N\) 个小朋友,lxhgww 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww 需要满足小朋友们的 \(K\) 个要求。幼儿园的糖果总是有限的,lxhgww 想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。
差分约束指的是一种 \(n\) 元一次不等式组。令有 \(n\) 个未知数 \(x_1, x_2, \cdots, x_n\),\(m\) 个形如 \(x_i - x_j \leq c_k\) 不等式,利用差分约束我们可以求出满足条件的解,或判断无解。
树状数组是一种维护线性数组前缀和的特殊方法,使用了类似于快速幂等的二进制分组的优势,对数组进行分段,从而可以快速求出该数组的前缀和的树形数据结构。
这一点与线段树类似。树状数组能干的事情线段树都能干,线段树能干的事情树状数组不一定能干。但树状数组相对线段树代码更短更好写,故在只涉及单点修改的时候树状数组更常用。
又滚来记流水账了。。。
CSP-S 2021 第二轮成绩出来了,72 分,稳过。
我们学校的 NOIP 名单也出来了,全校参赛不到 10 个人。。。
成功申请停课。。。
顺带在昨天过了 单源最短路径(弱化版)。调了
2 天的 bug,我太蒻了 QWQ。
看了一下图论基础,准备刷一下 DP 题。
考点也出来了,在天府七中(离家好远啊,开车将近一个小时),不过还好终于在成都考了。
爆零了?
没爆零!
简单的准备了一下,下午在机房摸了一小会儿鱼,看了一下考试技巧,在洛谷上写了一下单源最短路找一下手感,顺便再和 "Isoheptane" "huaruoji" 聊一下天。
CCF 迷惑操作,把考点设置在了绵阳
开了一个上午的车,终于到了绵阳东辰国际学校。来到考场后,发现考场环境比想象中的要好,九代标压 i7 加上 8G 内存完全够用。