随笔分类 - 数据结构 - 队列
摘要:题目大意:给定一个数轴和 N 个点,点有点权,现从 0 位置出发,初始时每次只能走 d 的距离,可以在数轴上任意位置停下,此时,会得到一个点权和。现允许支付 x 的费用,使得每次可以走的距离为一个范围 [max(1,d x), d+x]。求最少支付多少费用才能使得经过的点权和至少为 k。 题解:根据
        阅读全文
                
摘要:题目大意:给定一棵 N 个节点的无根树,边有边权,现生成一个序列 d,d[i] 表示 i 号节点到树上其他节点距离的最大值。给定一个 m,求 d 序列中最大值和最小值之差不超过 m 的最长连续段的长度是多少。 题解:d[i] 直接两次 dfs 即可,考虑如何求出最长连续段。可以发现若当前 [l,r]
        阅读全文
                
摘要:题目大意:给定一个长度为 N 的序列,将序列划分成若干段,保证每段之和不超过 M,问所有段的最大值之和最小是多少。 题解:设 $f[i]$ 表示前 i 个数满足上述条件的最优解,显然有状态转移方程$$f[i]=min\{f[j]+max_{j+1\le k \le i}\{a[k]\}\}$$,发现
        阅读全文
                
摘要:题目大意:给定一个长度为 N 的序列,点有点权,从序列中选出恰好 X 个数,并且保证任意连续的 K 个数中均有一个被选中,求选出的点权最大是多少。 题解:此题可以作为 烽火传递+ 来处理,只不过在烽火传递的基础上加了选出恰好 X 个数,因此只需在状态维度上加上一维选出的个数即可,$dp[i][j]$
        阅读全文
                
摘要:题目大意:给定一个 N 个非负整数数组成的序列,每个点有一个贡献值,现选出其中若干数,使得每连续的 K 个数中至少有一个数被选,要求选出的数贡献值最小。 题解:设 $dp[i]$ 表示考虑了序列前 i 个数的情况,且第 i 个数被选上时的最小贡献值,因此状态转移方程为:$dp[i]=min\{dp[
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号