Loading...

2020.10.29解题报告

T1 第一饭堂(CF118C)

题意简述:给出一个 \(n\) 位数,改变其中的一些数位使得有 \(k\) 个数相等,改变一个数需花费两个数的差的绝对值,求最少的花费并输出字典序最小的方案。

  • \(30pts\) 搜索

    \(dfs\) 枚举全排列,选出花费最小的方案,全排列从1开始搜,保证字典序最小,加上最优性剪枝,期望得分: \(30pts\)

    时间复杂度: \(O(n!)\)

  • \(70pts\) \(DP\)

    考虑 \(DP\) ,枚举最终答案中有 \(k\) 个相同的数 $x \ (0 \le x \le 9 $ 且 \(x\) 为整数 \()\)

    \(f_{i,j}\) 表示数列前 \(i\) 个数中有 \(j\) 个数等于 \(x\) 的最小花费,则:

    \[\displaystyle f_{i,j} = \min(f_{i-1,j},f_{i-1,j-1}+ \mid a_i-x \mid) \]

    \(f_{i,j}\) 的值为:前 \(i-1\) 个数选了 \(j\)\((\) 即第 \(i\) 个不变 \()\) 与前 \(i-1\) 个选 \(j-1\) 个加上第 \(i\) 个改变的花费。期望得分: \(70pts\)

T2 第二饭堂(CF7D)

  • 部分分 : 递归

    由题意可知: 若 \(A\) 为回文串,则其 "回文度数" 为 \(A\) 长度为 \(\lfloor \frac{n}{2} \rfloor\) 的子串的 "回文度数" \(+1\)

    若串 \(A\) 不为回文串,则其 "回文度数" 为 \(0\)

    因此进行递归:

    • \(A\) 不为回文串,返回累加求 "和谐程度" 。
    • \(A\) 是回文串,递归其前 \(\lfloor \frac{n}{2} \rfloor\) 的子串。

T3 第三饭堂(CF29E)

咕~(还没改粗来QWQ)

直接输出-1

posted @ 2020-10-30 19:08  CNF_Acceptance  阅读(55)  评论(0)    收藏  举报