E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
动态规划简单题
动态规划
day03
343.整数拆分(第二次做还是没弄明白)力扣题目链接(opensnewwindow)给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。示例1:输入:2输出:1解释:2=1+1,1×1=1。示例2:输入:10输出:36解释:10=3+3+4,3×3×4=36。看到题目的第一想法dp,列出最大乘积找规律,发现,按照3来拆分是能达到最大乘积的dp[i]代
Punk Boy
·
2024-01-15 22:03
算法
动态规划
day04(01背包问题)
01背包问题(二维数组和滚动数组)本题力扣上没有原题,大家可以去卡码网第46题(opensnewwindow)去练习,题意是一样的。《代码随想录》算法视频公开课(opensnewwindow):带你学透0-1背包问题!(opensnewwindow),相信结合视频再看本篇题解,更有助于大家对本题的理解。这周我们正式开始讲解背包问题!背包问题的经典资料当然是:背包九讲。在公众号「代码随想录」后台回复
Punk Boy
·
2024-01-15 22:33
动态规划
算法
动态规划
day05(背包问题)
1049.最后一块石头的重量II力扣题目链接(opensnewwindow)题目难度:中等有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x=stones[i];j--){dp[j]=Math.max(dp[j],dp[j-stones[i]]+stones[i]);}}returnsum-2*dp[target];}}494
Punk Boy
·
2024-01-15 22:33
动态规划
算法
动态规划
-- 01背包问题和完全背包问题
所以尝试使用
动态规划
来降低复杂度,使用
动态规划
可以将时间复杂度降低至O(nV),算法实现过程创建一个dp[][]二维数组,每个元
Lucky小黄人
·
2024-01-15 22:32
算法
动态规划
java
数据结构
python
Day44【
动态规划
】完全背包、518.零钱兑换 II、377.组合总和 Ⅳ
参考资料见此还是从
动态规划
五部
林沐华
·
2024-01-15 22:01
代码随想录
动态规划
算法
c++
数据结构
leetcode
代码随想录打卡Day 44 |
动态规划
part06
心得:完全背包:完全背包和01背包的区别在于物品时无限的,可以重复使用。因此在代码中的体现就是内圈的for要从小到大。因为初始化后,从大到小的for因j递减,前面的j还是初始的值,不会累加。而小到大的for因i递增,后面的j就会和前面的j累加在一起。关于dp初始化的问题:完全背包问题的初始化,一般情况下是vectordp(target+1,0),dp[0]=1。因为数组是从0-target,然后哦
不孑然一身
·
2024-01-15 22:29
动态规划
数据结构
leetcode
动态规划
Day42-Day57
动态规划
01背包理论基础01背包理论基础(滚动数组)416.分割等和子集1049.最后一块石头的重量II494.目标和474.一和零
动态规划
:完全背包理论基础518.零钱兑换II377.组合总和Ⅳ70.
lizhiqiang502
·
2024-01-15 21:59
动态规划
算法
Day39
动态规划
-多重背包 && 完全背包3
#include#includeusingnamespacestd;intC,n;intmain(){cin>>C>>n;vectorweight(n,0);vectorprice(n,0);vectornums(n,0);for(inti=0;i>weight[i];}for(inti=0;i>price[i];}for(inti=0;i>nums[i];}vectordp(C+1,0);for
Pepsi_I
·
2024-01-15 21:27
算法学习
动态规划
算法
Day38
动态规划
— 完全背包
518.零钱兑换IIclassSolution{public:intchange(intamount,vector&coins){vectordp(amount+1,0);//最大组合数dp[0]=1;for(inti=0;i&nums,inttarget){vectordp(target+1,0);//组合个数dp[0]=1;for(inti=0;i=0&&dp[i]
DuanDuan0820
·
2024-01-15 21:57
算法学习
动态规划
算法
c++
数据结构
leetcode
Day40
动态规划
— 完全背包
139.单词拆分classSolution{//背包=字符串s,物品=字符串列表//完全背包,排列public:boolwordBreak(strings,vector&wordDict){unordered_setword_set(wordDict.begin(),wordDict.end());vectordp(s.size()+1,false);dp[0]=true;for(inti=1;i
DuanDuan0820
·
2024-01-15 21:57
算法学习
动态规划
算法
leetcode
c++
数据结构
动态规划
Day06(完全背包)
完全背包有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。同样leetcode上没有纯完全背包问题,都是需要完全背包的各种应用,需要转化成完全背包问题,所以我这里还是以纯完全背包问题进行讲解理论
Punk Boy
·
2024-01-15 21:25
动态规划
算法
怎么在蓝桥杯多拿点分
难度比较大的是
动态规划
。严格按要求输出,不要画蛇添足地打印类似:“请您输入…”的多余内容。能用到的函数,比如sort、next_permutation等,STL同理。
你小汁完了
·
2024-01-15 20:11
蓝桥杯_搜索算法(DFS和BFS)
蓝桥杯B组省赛水题1(3分)2(5分)4(11分)19分DFS/爆破3(9分)5(15分)7(21分)45分冒泡(加法乘法)6(17分)17分取余(饮料换购)8(13分)13分矩阵9(25分)25分DP(
动态规划
你小汁完了
·
2024-01-15 20:10
蓝桥杯
c语言
c++
Leetcode72-编辑距离,DP经典回味,深入分析
20201_022201canvas.png这是一道相当经典的
动态规划
问题,最初做这道题的时候,还是在大学,当时见到这题一头雾水,看了别人的解析还是不太理解,而且看状态方程时,仅仅是看到了状态的方程的“
holymanu
·
2024-01-15 20:03
Day 48
动态规划
9
198.打家劫舍1代码随想录1.思路本体是非常简单的
动态规划
问题,dp[i]就代表0-i这些家可以抢劫到的最大金额,分两种情况进行讨论。一个是抢当前的不抢之前的,一个是不抢当前的。
韩纪初
·
2024-01-15 20:49
动态规划
算法
【蓝桥杯/
动态规划
】数的计算
数的计算题目描述输入一个自然数n(n≤1000)n\(n\leq1000)n(n≤1000),我们对此自然数按照如下方法进行处理:不作任何处理;在它的左边加上一个自然数,但该自然数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加自然数为止。问总共可以产生多少个数。输入描述输入一个正整数nnn。输出描述输出一个整数,表示答案。输入输出样例示例1输入6copy输出6运行限制最大运行时间
JaredYe
·
2024-01-15 17:25
蓝桥杯
动态规划
java
leetcode练习——
动态规划
(跳跃游戏)
给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。官方解法:https://leetcode-cn.com/problems/jump-game/solution/tiao-yue-you-xi-by-leetcode-solution/解法一:贪心算法(76ms/15.3MB)classSolution:d
StriveQueen
·
2024-01-15 17:38
leetcode
动态规划
贪心算法
【每日易题】Leetcode上Hard难度的
动态规划
题目——地下城游戏的实现
君兮_的个人主页即使走的再远,也勿忘启程时的初心C/C++游戏开发Hello,米娜桑们,这里是君兮_,博主最近一直在钻研
动态规划
算法,最近在Leetcode上刷题的时候遇到一个Hard难度的
动态规划
题,
君兮_
·
2024-01-15 17:02
每日易题
leetcode
动态规划
游戏
算法
c++
打家劫舍(java
动态规划
)
Problem:198.打家劫舍文章目录题目描述思路解题方法复杂度Code题目描述思路1.构建多阶段决策模型:n个房屋对应n个阶段,每一个阶段决定一个房间是偷还是不偷,两种决策:偷、不偷2.定义状态:不能记录每个阶段决策完之后,小偷可偷的最大金额,需要记录不同决策对应的最大金额,也就是:这个房屋偷-对应的最大金额;这个房屋不偷-对应的最大金额。int[n][2]记录每个阶段的状态,dp[i][0]
LNsupermali
·
2024-01-15 16:22
力扣题目
动态规划
leetcode
java
Palindromic Substrings回文子串【Medium】【Python】【中心扩展】【
动态规划
】
LeetCode0647.PalindromicSubstrings回文子串【Medium】【Python】【中心扩展】【
动态规划
】ProblemLeetCodeGivenastring,yourtaskistocounthowmanypalindromicsubstringsinthisstring.Thesubstringswithdifferentstartindexesorendindex
Wonz
·
2024-01-15 16:29
数据结构学习 jz14剪绳子
关键词:数学
动态规划
快速幂这道题其实是分为两题。题目一:这道题我是没有思路的,看了k神的答案才知道有数学的方法。方法一:数学:其实中间的推导我没看,我服了。
_Rindo
·
2024-01-15 14:36
数据结构学习
数据结构
学习
数据结构学习 jz19正则表达式匹配
关键词:
动态规划
这题确认dp状态不难,最关键也是最麻烦的是找到正确的转移方程。我参考了这位大神的答案。题目:思路:dp状态:dp[i][j]:代表字符串s的前i个字符和p的前j个字符能否匹配。
_Rindo
·
2024-01-15 14:06
数据结构学习
学习
AcWing 构造数组 区间合并
思路:这道题第一眼来看以为是
动态规划
类型的题目,然而尝试了用dp的方法做,然而超时了,过了差不多一半的测试店,显示的是超时。那么应该来说
动态规划
是可以做的,但数据卡的比较严。
江南路漫
·
2024-01-15 12:36
AcWing
算法
分割等和子集(java
动态规划
)
Problem:416.分割等和子集文章目录题目描述思路解题方法复杂度Code题目描述思路该题目可以归类为0-1背包问题,具体到细节可以再归纳为背包是否装满问题1.首先判断数组元素和的奇偶性(奇数则不能划分)2.我们定义一个二维布尔类型数组,用于记录每一阶段的可选状态3.针对于动态转移方程:我们要判断最终是否可以选取一些数使其和为原来数组元素和的一半,即通过一层一层的选择数(状态转移),判断最终状
LNsupermali
·
2024-01-15 12:03
力扣题目
leetcode
java
动态规划
三角形最小路径和(Java
动态规划
)
Problem:120.三角形最小路径和文章目录题目描述思路解题方法复杂度Code题目描述思路Problem:64.最小路径和本题目可以看作是在上述题目的基础上改编而来,具体的思路:1.记录一个int类型的大小的n乘nn乘nn乘n的数组(其中nnn为数组triangle的行数)用于记录每一个当前阶段的最小路径和2.大体上可以依据题意得出动态转移方程为dp[i][j]=Math.min(dp[i-1
LNsupermali
·
2024-01-15 12:03
力扣题目
leetcode
java
动态规划
珠宝的最高价值(java
动态规划
)
Problem:LCR166.珠宝的最高价值文章目录解题思路思路解题方法复杂度Code解题思路思路改题目与本站64题实质上是一样的,该题目在64题的基础上将求取最小路径和改成了求取最大路径和。具体实现思路如下:1.定义一个int类型的二维数组dp大小为给定矩阵frame的行数与列数。该数组用于记录每个当前阶段的最大路径和(也是本题目的最大价值)2.动态转移方程为**dp[i][j]=Math.ma
LNsupermali
·
2024-01-15 12:01
力扣题目
leetcode
java
动态规划
Day 45
动态规划
7
70.爬楼梯代码随想录1.思路不难看出,这道题是一个完全背包计数问题,因为是排列(131和113是两种),因此背包遍历在外循环,物品遍历在内循环。#include#includeusingnamespacestd;intmain(){intn,m;while(cin>>n>>m){vectordp(n+1,0);dp[0]=1;for(inti=1;i=0)dp[i]+=dp[i-j];}}cou
韩纪初
·
2024-01-15 10:36
算法
Day 46
动态规划
8
139.单词拆分代码随想录1.思路(1)对背包问题的转化这道题可以很简单的转化为,目标字符串为背包,物品为字典内元素,优化目标为是否可以进行拆分。但是怎么进行dp数组的构建,是一个比较困难的问题。遍历每个物品不太现实,因为每个物品都是字符串,不可比。因此,可以遍历位置,每次判断是否可以组成物品。这是一种化间断为连续的方法。(2)dp数组dp[i]代表该i长度可以拆分为很多单词(boolean)(3
韩纪初
·
2024-01-15 10:36
算法
数据结构
Day 44
动态规划
6
K52.完全背包代码随想录1.思路(1)dp数组定义以及更新模式完全背包和01背包的区别可以从展开的二维背包中看出来:01背包:dp[i][j]=max(dp[i-1][j],dp[i-1][j-weights[i-1]]+values[i-1])完全背包:dp[i][j]=max(dp[i-1][j],dp[i][j-weights[i-1]]+values[i-1])区别就在i-1上。在保持原
韩纪初
·
2024-01-15 10:36
动态规划
算法
上海计算机学会11月月赛 乙组题解
上海计算机学会11月月赛乙组题解本次比赛涉及算法:字符串、贪心、二分、思维、树形
动态规划
、乘法逆元、状态压缩、折半枚举。
超哥聊信奥
·
2024-01-15 09:48
上海计算机学会月赛题解
算法
c++
数据结构
动态规划
深度优先
广度优先
代码随想录-刷题第五十五天
动态规划
五步曲分析:dp[i][j]表示以下标i-1为结尾的字符串word1,和以下标j-1为结尾的字符串word2,最近编辑距离为dp[i][j]。
涛声依旧9087
·
2024-01-15 09:20
数据结构
算法
数据结构
java
leetcode
动态规划
代码随想录-刷题第五十四天
动态规划
五步曲:dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。注意这里是判断s是否为t的子序列。即t的长度是大于等于s的。
涛声依旧9087
·
2024-01-15 09:49
数据结构
数据结构
算法
java
leetcode
动态规划
周赛379(排序、分类讨论、记忆化搜索(
动态规划
))
文章目录周赛379[3000.对角线最长的矩形的面积](https://leetcode.cn/problems/maximum-area-of-longest-diagonal-rectangle/)排序[3001.捕获黑皇后需要的最少移动次数](https://leetcode.cn/problems/minimum-moves-to-capture-the-queen/)分类讨论[3002.
Miraclo_acc
·
2024-01-15 08:16
算法刷题记录
#
LC周赛
动态规划
算法
整数拆分:
动态规划
(c++)
leetcode343.整数拆分分析状态表示:·dp[i]表示整数i拆分乘积的最大值。转移方程:·对于每个数字i都进行一遍循环,计算(i-j)*j,(j<=i-1),并求其与dp[i],dp[i-j]*j的最大值,即:dp[i]=max(dp[i],(i-j)*j,dp[i-j]*j)·与dp[i-j]*j比较是因为i-j可能小于i-j拆分的乘积。边界:·输入的整数n大于等于2,考虑到会拆分成类似
joe_170d
·
2024-01-15 06:39
代码随想录刷题题Day33
1单词拆分139.单词拆分思路:
动态规划
法(1)确定dp数组以及下标的含义dp[i]:字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词(2)递推公式如果确定dp[j]
Big David
·
2024-01-15 05:47
代码随想录刷题
代码随想录
C++
动态规划
多重背包
第 14 章 程序员常用算法
代码实现14.2分治算法14.2.1分治算法介绍14.2.2分治算法的基本步骤14.2.3分治(Divide-and-Conquer(P))算法设计模式如下:14.2.4分治算法最佳实践-汉诺塔14.3
动态规划
算法
黄土高坡上的独孤前辈
·
2024-01-15 04:23
机器学习与深度学习
算法
leetcode-2645 构造有效字符串的最小插入数
题目链接2645.构造有效字符串的最少插入数-力扣(LeetCode)解题思路
动态规划
1、定义状态d[i]为将前i个字符(为了方便编码,下标从1开始)拼凑成若干个abc所需要的最小插入数。
杜阿福
·
2024-01-15 03:56
leetcode
算法
职场和发展
14. 最长公共前缀
【解题思路】这是一道
简单题
,简单的地方在于题目很好理解,但是并不是一下子就能想到解题方案的。
五点钟科技
·
2024-01-15 02:46
一起来刷题
#
公共部分的问题
python
数据结构
算法
leetcode
刷题
5. 最长回文子串
【解题思路】不要多想,本题就用
动态规划
解决。既然是
动态规划
,那么就要考虑
动态规划
数组如何建立,一般我们都会建立一个二维数组用于存储
动态规划
的中间过程,而在这之前,要充分挖掘题目的规律。
五点钟科技
·
2024-01-15 02:15
一起来刷题
#
子串问题
算法
python
数据结构
动态规划
leetcode
刷题
如何用
动态规划
解决0-1背包问题(C语言实现)
对于一组不同重量、不可分割的物品,我们需要选择一些装入背包,在满足背包最大重量限制前提下,背包中物品总重量的最大值是多少?假设此时是5个物品,2,2,4,6,3,然后背包最大承载两是9.假如我们使用回溯算法解决该问题,代码如下intmaxW=0;//最大重量intn=5;//物品数目intw=9;//背包最大重量intweight[]={2,2,4,6,3};//物品重量,2,2,4,6,3voi
xuzhougeng
·
2024-01-15 02:53
代码随想录第第五十七天—回文子串,最长回文子序列
leetcode647.回文子串题目链接:回文子串版本一:
动态规划
dp数组及下标的含义dp[i][j]:区间范围[i,j](左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false
荒野饮冰室
·
2024-01-15 00:08
动态规划
数据结构
算法
【面试高频题】难度 3/5,可直接构造的序列 DP 题
Tag:「前缀和」、「构造」、「双指针」、「序列DP」、「
动态规划
」你有两个有序且数组内元素互不相同的数组nums1和nums2。
宫水三叶的刷题日记
·
2024-01-14 23:32
剑指offer 51- 字符串中第一个只出现一次的字符
样例:输入:"abaccdeff"输出:'b'分析:
简单题
开一个Hash表用来存储每一个字符出现的次数。
顾子豪
·
2024-01-14 22:39
【
动态规划
】63. 不同路径 II
链接:63.不同路径II-力扣(LeetCode)问题描述:解释:障碍物的位置对路径总数的贡献为0intuniquePathsWithObstacles(vector>&obstacleGrid){intm=obstacleGrid.size();intn=obstacleGrid[0].size();vector>dp(m,vector(n,0));for(inti=0;i
杨主任o_o
·
2024-01-14 17:41
动态规划
算法
代码随想录训练营Day43
动态规划
Part05|1049. 最后一块石头的重量 II|494. 目标和|474.一和零
1049.最后一块石头的重量II没有思路,不知道如何用背包问题解决Carl提示和416很像,也是将石头分为两组,只是416题要求两组价值完全一样,本题则是希望价值越大越好,越大越接近总值的一半,就会令两组的差距越小本题用的滚动一维dp数组,有很多要注意的细节:voidtest_1_wei_bag_problem(){vectorweight={1,3,4};vectorvalue={15,20,3
古德猫宁已存在
·
2024-01-14 16:53
动态规划
算法
数据结构
leetcode
c++
代码随想录算法训练营第43天 |
动态规划
part05 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零
#1049最后一块石头的重量II自己没想出来呜呜。我思考的时候以为是有特定顺序才行,然后回想一下背包问题好像不能解决顺序的,只能解决组合的,也就是每个东西有或者没有,然后我就觉得我想不出来了。这个时候我应该联想到背包问题只能解决组合的,所以这道题我那样想顺序的想法就是错的,要转变思路看了随想录学会了,自己写了:先用数学想一下n个(y-x)相加,即这些y之和-这些x之和=》分成重量尽可能接近的两堆=
weixin_51674457
·
2024-01-14 16:52
代码随想录一刷
动态规划
算法
leetcode
c++
Day43|
动态规划
part05: 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
1049.最后一块石头的重量IIleetcode链接:力扣题目链接视频链接:这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x=stones[i];j--){dp[j]=max(dp[j],dp[j-stone
QHG7C0
·
2024-01-14 16:22
数据结构与算法(一刷)
动态规划
算法
算法训练第四十三天|1049. 最后一块石头的重量 II 、494. 目标和、474.一和零
动态规划
part051049.最后一块石头的重量II题目描述思路总结494.目标和题目描述思路回溯算法
动态规划
总结474.一和零题目描述思路总结1049.最后一块石头的重量II题目链接:1049.最后一块石头的重量
凌锋lin6
·
2024-01-14 16:22
算法
leetcode
动态规划
c++
数据结构
代码随想录算法训练营第四十三天|1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
第九章
动态规划
part051049.最后一块石头的重量II有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。
Keponcod
·
2024-01-14 16:20
算法
动态规划
leetcode
第九章
动态规划
part05 1049. 最后一块石头的重量II 494. 目标和 474. 一和零
第四十三天|第九章
动态规划
part051049.最后一块石头的重量II494.目标和474.一和零一、1049.最后一块石头的重量II题目链接:https://leetcode.cn/problems/
旧日ζั͡ޓއއއ昔年
·
2024-01-14 16:50
动态规划
算法
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他