P8816 [CSP-J 2022] 上升点列 P8816 [CSP-J 2022] 上升点列 欧几里得距离h=(x2−x1)2+(y2−y1)2。 横坐标、纵坐标值均单调不减,A点可向上和向右。 ①不连接,用上所有点,序列长度为j+1。 ②从A点向前枚举 (1)判断点是否合法 (2)所用点j≤K. 01背包与最长子序列结合: f[i][j]表示从...
给你nn 个点,每个点有一个坐标 (xi,yi)(xi,yi),还可以添加 kk 个点。添加之后,求:最长的上升点列的长度。上升点列定义(两个点满足其中之一即可):xi+1−xi=1,yi=yi+1xi+1−xi=1,yi=yi+1 yi+1−yi=1,xi=xi+1yi+1−yi=1,xi=xi+1思路设二维数组 f[i][j]f[i][j] 表示以第 ...
我们需要先把输入的点进行排序,然后设dp(i,k)是从第i个枚举到第k个。 之后就可以非常简单地列出状态转移方程:dp(i,k)=max(dp(i,k-dis(i,j)+1+dis(i,j),dp(i,k)) OK,上代码 #include<bits/stdc++.h>usingnamespacestd;constintN=510;intf[N][110];structnode{intx,y;}a[N];intn,k;inl...