洛谷java实现
Wchert
一只努力学习的大四狗
展开
-
洛谷java实现(P1091合唱队形)
题目连接:https://www.luogu.com.cn/problem/P1091 这题和导弹拦截特别像,本质都是求最长上升子序列。 import java.util.Scanner; /** * 贪心优化-时间复杂度 :O(nlogn) */ public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = i.原创 2020-09-25 22:22:34 · 167 阅读 · 0 评论 -
洛谷java实现(P2029跳舞)
题目链接:https://www.luogu.com.cn/problem/P2029 典型的动态规划题目 定义状态:dp[i][j]:已跳到第i个且已踩准j个的最高分数 初始状态:dp[i][0]=dp[i-1][0]-s[i] (踩准0个 都扣分) 状态转移: ① 如果踩准的次数达到奖励机制数,当前选择踩:dp[i-1][j] - s[i],不踩: dp[i-1][j - 1] + s[i] + b[i] ②踩准的次数不达到奖励机制数,当前选择踩:dp[i-1][j] - s[i],不踩: dp[.原创 2020-09-20 23:50:32 · 317 阅读 · 0 评论 -
洛谷java实现(P1111修复公路)
题目类型典型的求最小生成树,可以使用prim算法或者kruskal算法,这里使用kruskal算法! 大致思路:原创 2020-09-19 00:10:30 · 284 阅读 · 0 评论 -
洛谷java实现(P1439[模板]最长公共子序列)
题目链接:https://www.luogu.com.cn/problem/P1439 首先这是一道绿题,如果用动态规划(时间复杂度n^2)对于n=10 ^5肯定过不了,当然动态规划适合leetcode这道题1143. 最长公共子序列感兴趣可以看看 题解如下: /** * 动态规划+内存优化 */ public int longestCommonSubsequence(String text1, String text2) { if (text1 == null || te.原创 2020-09-17 22:44:02 · 224 阅读 · 0 评论 -
洛谷java实现(P1025_数的划分)
题目链接:https://www.luogu.com.cn/problem/P1025 看题目我们不难发现,典型的深搜+回溯+剪枝; 看实例答案我们可以发现数据特征: 后面的数要大于等于前一个数,(保证了不重复的分法) 数据逐渐成均匀分布 每当确定一个数后面的数可均分剩下的数 public class Main { static int n, k, count; public static void main(String[] args) { Scanner i.原创 2020-09-04 21:12:20 · 269 阅读 · 0 评论