DP
Tizzii
这个作者很懒,什么都没留下…
展开
-
LeedCode 312. 戳气球
一、内容二、思路三、代码class Solution {public: vector<vector<int>> dp; //记忆化 vector<int> rec; //记录气球值 int maxCoins(vector<int>& nums) { int n = nums.size(); rec.push_back(1); for (int i = 0; i < n原创 2022-03-02 09:57:52 · 181 阅读 · 0 评论 -
LeedCode 309. 最佳买卖股票时机含冷冻期
一、题目给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3 解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]二、思路通过分析题目可以看出有3种状态1.第i原创 2021-10-19 11:21:59 · 209 阅读 · 0 评论 -
LeedCode 188. 买卖股票的最佳时机 IV
一、题目给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1:输入:k = 2, prices = [2,4,1]输出:2解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。示例 2:原创 2021-10-19 10:50:18 · 162 阅读 · 0 评论 -
LeedCode 215. 数组中的第K个最大元素
一、题目给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4 提示: 1 <= k <= nums.length <= 104 -104 <= nums[i] <= 104原创 2021-10-19 10:34:41 · 167 阅读 · 0 评论 -
LeedCode 123. 买卖股票的最佳时机 III
一、题目给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1:输入:prices = [3,3,5,0,0,3,1,4]输出:6解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。 随后,在第 7 天(股票价格 = 1)的时候买原创 2021-10-19 10:21:12 · 159 阅读 · 0 评论 -
LeedCode 122. 买卖股票的最佳时机 II
一、题目给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后原创 2021-10-18 09:16:31 · 159 阅读 · 0 评论 -
LeedCode 121. 买卖股票的最佳时机
一、题目给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。原创 2021-10-17 11:21:08 · 172 阅读 · 0 评论 -
LeedCode 10. 正则表达式匹配
一、题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 示例 1:输入:s = "aa" p = "a"输出:false解释:"a" 无法匹配 "aa" 整个字符串。示例 2:输入:s = "aa" p = "a*"输出:true解释:因为 '*' 代表可以匹配零个或多个前面的那一个元原创 2021-10-17 11:03:13 · 171 阅读 · 0 评论 -
LeedCode 91. 解码方法
一、题目一条包含字母 A-Z 的消息通过以下映射进行了 编码 :'A' -> 1'B' -> 2...'Z' -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 (1 1 10 6) "KJF" ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06原创 2021-10-16 22:18:38 · 261 阅读 · 0 评论 -
LeedCode 300. 最长递增子序列
一、题目给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [原创 2021-10-15 10:51:36 · 170 阅读 · 0 评论 -
LeedCode 1143. 最长公共子序列
一、题目给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。 示例 1:输入:text1 = "abcd原创 2021-10-15 10:06:37 · 158 阅读 · 0 评论 -
LeedCode 474. 一和零
一、题目给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 1:输入:strs = ["10", "0001", "111001", "1", "0"], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {"10","0001","1","0"} ,因此答案是原创 2021-10-15 09:55:24 · 167 阅读 · 0 评论 -
LeedCode 416. 分割等和子集
一、题目给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。 提示: 1 <= nums.length <= 200 1 <= nums[i原创 2021-10-15 09:40:27 · 198 阅读 · 0 评论 -
LeedCode 322. 零钱兑换
一、题目给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。 示例 1:输入:coins = [1, 2, 5], amount = 11输出:3 解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1原创 2021-10-15 09:30:12 · 168 阅读 · 0 评论 -
LeedCode 72. 编辑距离
一、题目给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例原创 2021-10-15 08:44:31 · 166 阅读 · 0 评论 -
LeedCode 650. 只有两个键的键盘
一、题目最初记事本上只有一个字符 'A' 。你每次可以对这个记事本进行两种操作: Copy All(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。 Paste(粘贴):粘贴 上一次 复制的字符。给你一个数字 n ,你需要使用最少的操作次数,在记事本上输出 恰好 n 个 'A' 。返回能够打印出 n 个 'A' 的最少操作次数。 示例 1:输入:3输出:3解释:最初, 只有一个字符 'A'。第 1 步, 使用 Copy All 操作。第 2 步,原创 2021-10-15 08:43:47 · 159 阅读 · 0 评论 -
Lost's revenge HDU - 3341 ad自动机+进制压缩
一、内容 Lost and AekdyCoin are friends. They always play "number game"(A boring game based on number theory) together. We all know that AekdyCoin is the man called "nuclear weapon of FZU,descendant of J...原创 2020-04-05 20:01:56 · 534 阅读 · 0 评论 -
HDU - 2457 DNA repair ac自动机+dp
一、内容 Biologists finally invent techniques of repairing DNA that contains segments causing kinds of inherited diseases. For the sake of simplicity, a DNA is represented as a string containing characte...原创 2020-04-01 21:26:23 · 442 阅读 · 0 评论 -
HDU - 2296 Ring ac自动机 + dp
一、内容 For the hope of a forever love, Steven is planning to send a ring to Jane with a romantic string engraved on. The string's length should not exceed N. The careful Steven knows Jane so deeply tha...原创 2020-03-31 21:17:30 · 380 阅读 · 2 评论 -
HDU2825 Wireless Password ac自动机 + 状压DP
一、内容 Liyuan lives in a old apartment. One day, he suddenly found that there was a wireless network in the building. Liyuan did not know the password of the network, but he got some important informat...原创 2020-03-30 21:16:35 · 483 阅读 · 0 评论 -
Censored! POJ - 1625 ac自动机+dp+高精度
一、内容The alphabet of Freeland consists of exactly N letters. Each sentence of Freeland language (also known as Freish) consists of exactly M letters without word breaks. So, there exist exactly N^M di...原创 2020-03-29 21:06:28 · 549 阅读 · 0 评论 -
DNA repair POJ - 3691 自动机+dp
一、内容Biologists finally invent techniques of repairing DNA that contains segments causing kinds of inherited diseases. For the sake of simplicity, a DNA is represented as a string containing character...原创 2020-03-19 20:51:12 · 401 阅读 · 0 评论 -
设计密码 状态机 + KMP
一、内容你现在需要设计一个密码 S,S需要满足:S的长度是 N;S只包含小写英文字母;S不包含子串 T ;例如:ab和 abcde 是 abcde 的子串,abd 不是 abcde的子串。请问共有多少种不同的密码满足要求?由于答案会非常大,请输出答案模 109+7的余数。输入格式第一行输入整数N,表示密码的长度。第二行输入字符串T,T中只包含小写字母。输出格式输出一个正整数,表...原创 2020-03-18 20:44:54 · 604 阅读 · 0 评论 -
CodeForces 1303 E rase Subsequences dp
一、内容You are given a string s. You can build new string p from susing the following operation no more than two times: choose any subsequence si1,si2,…,sikwhere 1≤i1<i2<⋯<ik≤|s|;erase the chos...原创 2020-02-20 17:12:08 · 442 阅读 · 0 评论 -
CodeForces 1307 C Cow and Message dp
一、内容Bessie the cow has just intercepted a text that Farmer John sent to Burger Queen! However, Bessie is sure that there is a secret message hidden inside.The text is a string sof lowercase Latin let...原创 2020-02-19 11:27:19 · 556 阅读 · 0 评论 -
CodeForces - 1296E2 String Coloring (hard version) dp
一、内容This is a hard version of the problem. The actual problems are different, but the easy version is almost a subtask of the hard version. Note that the constraints and the output format are differe...原创 2020-02-18 17:56:28 · 439 阅读 · 0 评论 -
CodeForces 1304F2 Animal Observation (easy version) DP + 滑动窗口优化
一、内容The only difference between easy and hard versions is the constraint on kGildong loves observing animals, so he bought two cameras to take videos of wild animals in a forest. The color of one cam...原创 2020-02-16 20:49:41 · 659 阅读 · 0 评论 -
CodeForces 1304F1 Animal Observation (easy version) DP
一、内容The only difference between easy and hard versions is the constraint on kGildong loves observing animals, so he bought two cameras to take videos of wild animals in a forest. The color of one cam...原创 2020-02-16 17:03:36 · 649 阅读 · 0 评论 -
Beingawesomeism CodeForces - 1281D
一、内容Your friend Jeff Zebos has been trying to run his new online company, but it's not going very well. He's not getting a lot of sales on his website which he decided to call Azamon. His big problem...原创 2019-12-18 21:00:36 · 582 阅读 · 0 评论 -
Suffix Three CodeForces - 1281A
一、内容二、思路简单进行最后一个字符判断。三、代码#include <cstdio>const int N = 1005;char s[N];int t, len;int main() { scanf("%d", &t); while (t--) { scanf("%s", s + 1); len = strlen(s + 1); //"po...原创 2019-12-17 22:00:02 · 451 阅读 · 4 评论 -
Codeforce 1277 C. As Simple as One and Two
一、内容题意:不能出现one 或者 two 这2个字符串。问最少需要删除那些字符,并输出删除的位置。二、思路我们只需要删除one的n 或者是two的w就可以让一个字符串不出现这2个串。特殊情况:当 twone这种情况时,我们需要删除的是 o 这个字符。三、代码#include <cstdio>#include <cstring>#define min(a...原创 2019-12-17 18:03:41 · 403 阅读 · 0 评论 -
Piggy-Bank POJ - 1384 完全背包
一、内容Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is s...原创 2019-12-15 10:54:00 · 299 阅读 · 0 评论 -
Dividing POJ - 1014 多重背包
一、内容题意:问给定值1-6的大理石若干个,问可以划分为一半吗。二、思路二进制优化多重背包,凑出所有大理石和一半的值,若能凑出代表能划分。三、代码#include <cstdio>#include <cstring>#define max(a, b) (a > b ? a : b)using namespace std;const int N...原创 2019-12-15 09:52:30 · 389 阅读 · 0 评论 -
Remove One Element CodeForces - 1272D DP
一、内容You are given an array a consisting of n integers.You can remove at most one element from this array. Thus, the final length of the array is n−1 or n.Your task is to calculate the maximum possibl...原创 2019-12-13 09:23:22 · 547 阅读 · 0 评论 -
AGTC POJ - 3356
一、内容Let x and y be two strings over some finite alphabet A. We would like to transform x into y allowing only operations given below: Deletion: a letter in x is missing in y at a corresponding p...原创 2019-12-12 19:48:37 · 417 阅读 · 0 评论 -
Constanze's Machine CodeForces - 1245C
一、内容Constanze is the smartest girl in her village but she has bad eyesight.One day, she was able to invent an incredible machine! When you pronounce letters, the machine will inscribe them onto a pie...原创 2019-12-10 15:40:30 · 545 阅读 · 0 评论 -
CodeForces 1253 C. Sweets Eating DP
一、内容Tsumugi brought n delicious sweets to the Light Music Club. They are numbered from 1 to n, where the i-th sweet has a sugar concentration described by an integer aiYui loves sweets, but she can e...原创 2019-12-09 21:31:04 · 648 阅读 · 2 评论 -
CD UVA - 624
一、内容 You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long...原创 2019-12-02 19:22:25 · 450 阅读 · 0 评论 -
饭卡 HDU - 2546 01背包
一、内容 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input多组数据。对于每组数据:第一行为正整...原创 2019-12-02 18:37:59 · 325 阅读 · 0 评论 -
Space Elevator POJ - 2392 多重背包
一、内容The cows are going to space! They plan to achieve orbit by building a sort of space elevator: a giant tower of blocks. They have K (1 <= K <= 400) different types of blocks with which to bu...原创 2019-12-02 16:06:44 · 500 阅读 · 0 评论