摘要:
https://loj.ac/problem/10155 题目描述 一个数的约数和(不包括它本身)如果比这个数小,那么这个数可以转移到这个数的约数和,这个约数和也可以变为这个数,所有操作在$n$的范围内进行,求最多不经过重复步数的操作。 思路 我们考虑如果$x$可以变成$y$,那么我们在$x$和$y 阅读全文
摘要:
https://loj.ac/problem/10154 题目描述 给出$n$门课及其先修课,每门课有一定学分,求选$m$门课能获得的最大学分。 思路 由于原图可能是森林,可以先建一个虚根$0$号节点。我们考虑用$f[i][j]$表示以$i$为根的子树的选$j$门课能获得的最大学分,并且$i$这门课 阅读全文
摘要:
https://loj.ac/problem/10153 题目描述 有一棵二叉树,每条树枝上有一个权值,求保留$Q$个树枝下能达到的最大权值。 思路 我们考虑$n$较小,先把边转化为点,我们可以用$f[i][j]$表示以$i$为根的子树中选$j$个节点的能达到的最大权值,那么有三种情况:1、左子树全 阅读全文
摘要:
https://loj.ac/problem/10151 题目描述 由$n$个位置,每个位置有一定的价值,每次可以选择一个位置$k$,把区间$[l,r]$分为$l\sim k$和$k+1\sim r$两段,区间长度为$1$时停止,总价值为每次将区间合并时左右端点的价值之和$\times$$k$位置的 阅读全文
摘要:
https://loj.ac/problem/10150 题目描述 给出一个由小括号和中括号组成的括号序列,求最少添加几个括号可以是括号完全匹配。 思路 我们考虑用$f[i][j]$表示在$i\sim j$段的答案,那么对于它可以由较短长度的序列转移过来,我们分为三种情况:1、序列两端恰好匹配。2、 阅读全文
摘要:
https://loj.ac/problem/10149 题目描述 有一个$N$个顶点的多边形,每个顶点都有一个权值,求如何划分使得划分后的$N 2$个三角形的权值乘积和最小。 思路 这题本意是要写高精度的,不过这不是重点。我们考虑用$f[i][j]$表示以$i$和$j$之间的顶点所构成的多边形的最 阅读全文
摘要:
https://loj.ac/problem/10148 题目描述 有$n$个珠子排成一圈,每个珠子有头标记和尾标记,对于$i using namespace std; int read() { int res=0,w=1; char ch=getchar(); while(ch'9'){if(ch 阅读全文
摘要:
https://loj.ac/problem/10147 题目描述 有$n$堆石子围成一圈,每次可以将相邻两堆合并为一堆,合并的得分为合并成的石子的数量,求合并的最大得分和最小的得分。 思路 首先显然我们要化环为链,接下来考虑如果进行类似合并果子贪心的选择,那么可以构造出反例,而且数据比较小,我们考 阅读全文