摘要:
该题目是一道树上背包问题,题目的全部思路已写在 树上背包问题 中. 该题目代码只供辅助理解. struct edge{ int to,w; }; vector<edge> e[1001]; int n,m,f[1001][1001]; void dfs(int s){ for(edge i:e[s] 阅读全文
posted @ 2024-02-16 21:23
HaneDaniko
阅读(93)
评论(0)
推荐(0)
摘要:
同机房大佬也写了这道题的 题解. 我在另一篇 题解 中提到了这类问题的通解,接下来我们依照此通解思考该题. 问题处理 首先我们来定义三角形的表示方式. 定义 \(f[i][j]\) 表示三角形 \((i,j)\) 的最大边长,其中三角形 \((i,j)\) 为垂直顶点坐标为 \((i,j)\) 的三 阅读全文
posted @ 2024-02-16 10:27
HaneDaniko
阅读(187)
评论(0)
推荐(1)
摘要:
同机房大佬也写了这题的 题解. 通解分析 此类问题我通常喜欢归纳成一类,即阻碍联通的坐标DP. 既然是阻碍联通,那么此类问题的通用思路是这样的: 首先将dp数组图形化. 一般用一个特定图形上的特定点来标识整个图形. 比如假如我需要找正方形的最大面积,我可以用左下角坐标来表示整个正方形. 找三角形最大 阅读全文
posted @ 2024-02-16 08:31
HaneDaniko
阅读(176)
评论(2)
推荐(1)

浙公网安备 33010602011771号