06 2024 档案

摘要:看了一眼题目,简单dp问题,但超时了一晚上,试了各种方法无法解决,最终放弃java,改用C直接过,我哭了。。。。 #include<stdio.h> #include<string.h> #define maxn 200010 int dp[maxn],ans[maxn],map[maxn]; in 阅读全文
posted @ 2024-06-19 23:45 XiaohuangTX 阅读(3) 评论(0) 推荐(0) 编辑
摘要:状态转移方程 if (j==2*i+1) { dp[j][i] = dp[j-2][i-1]+ (val[j]-val[j-1])*(val[j]-val[j-1]); }else { dp[j][i] = Math.min(dp[j-1][i], dp[j-2][i-1]+ (val[j]-val 阅读全文
posted @ 2024-06-15 21:46 XiaohuangTX 阅读(1) 评论(0) 推荐(0) 编辑
摘要:给定一个序列,询问是否能删除一个数让它成为非递减或者非递增的序列。 nlogn一直过不了,所以选择了以下方式。。。 因为删除一个嘛,先证明删除一个能不能是非递减的(非递增的把序列倒过来搞一次就行了) 首先,对一个序列前后两个数做差 比如说序列 3 1 4 1 5 做差后(即1-3,4-1,1-4,5 阅读全文
posted @ 2024-06-09 11:36 XiaohuangTX 阅读(3) 评论(0) 推荐(0) 编辑
摘要:求最长子序列的和。 dp[i] = max(dp[i] , dp[j] + xx[i])。 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] 阅读全文
posted @ 2024-06-08 17:15 XiaohuangTX 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Dilworth定理通俗地讲就是对于一个偏序集,最少链划分等于最长反链长度。 通俗点就是一个数列最少的不上升(<=)子序列的条数等于该数列最长上升(>)子序列的长度 就是求最长有序子序列 package bag; import java.util.Arrays; import java.util.S 阅读全文
posted @ 2024-06-07 22:48 XiaohuangTX 阅读(2) 评论(0) 推荐(0) 编辑