随笔分类 -  dp动态规划

摘要:题目传送门:https://www.luogu.com.cn/problem/P1073 思路:首先,我们目的是想要在图上dp求最优的路线,但是原图上会存在环,那么我们就要先通过tarjan缩点,将所有环缩成一个点,同时,记录每个点的最大值和最小值,缩点得到DAG后,我们可以在DAG上进行dp,每次 阅读全文
posted @ 2022-07-31 16:02 Keyzee 阅读(70) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=3934; 解题思路:我们要求的是n个人m对,所以需要两个状态,i和j,表示一共i个人,其中j对排列方式的方法数,我们需要寻找一个状态由哪些状态来决定(这是解题的关键),我们做一个dp题,第一步就是先要找到他的状态,第二步就是寻找每个状态 阅读全文
posted @ 2022-04-05 10:27 Keyzee 阅读(84) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=1260 具体思路: 首先,所需珍珠的数目是固定的,而且每种珍珠所需的数目,可以使用比此种珍珠珍贵(就是价格高的)的珍珠所替代,其次,题目所给珍珠的顺序是按价格由低到高给的,我们可以发现一个规律,珍珠不能隔着种类交换,就是说假设一共三类珍 阅读全文
posted @ 2022-04-04 20:38 Keyzee 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=2385 简单说一下我的思路: 建一个dp[i][j]数组,其中 i 表示第 i 秒, j 表示在第 i 秒,第 j 次移动到另一颗树下, 那么在第i秒第j次移动到另一颗树下的最优解就是前一秒由另一棵树下移动到此树下与前一秒就是在这棵树下 阅读全文
posted @ 2022-03-25 19:38 Keyzee 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=3230 1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstring> 5 #include<cstdio> 6 #define inf 阅读全文
posted @ 2022-03-25 19:33 Keyzee 阅读(23) 评论(0) 推荐(0) 编辑
摘要:思路: 反转题目所给的字符串,并与所给字符串求他们两个的最长公共子序列的值。 总长减去最长公共子序列的值就是最少安插所需的值。 注意:此题直接建二维数组会爆内存,可以使用滚动数组来优化内存!!! ac代码: 1 #include<iostream> 2 #include<algorithm> 3 # 阅读全文
posted @ 2022-03-25 16:32 Keyzee 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示