![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 54
z岁月无声
这个作者很懒,什么都没留下…
展开
-
LeetCode-188. 买卖股票的最佳时机 IV
Leetcode 188原创 2022-07-06 18:22:35 · 148 阅读 · 0 评论 -
Codeforces Round #783 (Div. 2)-D. Optimal Partition
传送门:https://codeforces.com/contest/1668/problem/D思路:dp+树状数组, 参考博客https://www.cnblogs.com/Prgl/p/16169339.html需要注意dp初始化时需要把0先算上去,即假设数列的左边隐含着一个为0的元素做分割线Code:#include<iostream>#include<algorithm>#include<set>#include<unordered_map.原创 2022-05-18 02:13:10 · 137 阅读 · 0 评论 -
LeetCode-714.买卖股票的最佳时机含手续费
地址:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/思路:贪心 || DP思路一、贪心:利用贪心思路,当出现峰值(买卖间有正差值)时即将股票卖掉,同时寻找下一个峰值。对于卖出时需要手续费fee,其峰值相当于卖出价格prices[i]-fee,记录当前最小值Min,当prices[i]-fee>Min时,则答案加上其差值res+=prices[i]-fee-Min;同时令 .原创 2020-12-04 00:43:35 · 146 阅读 · 0 评论 -
LeetCode-239. 滑动窗口最大值
地址:https://leetcode-cn.com/problems/sliding-window-maximum/思路:优先队列 || 单调队列 || dp思路一、优先队列:利用优先队列维护区间的最大值,同时将记录其下标 <val,id>. 遍历数组nums[i],将优先队列首节点不在k范围内的去除掉,在取首节点即可。时间复杂度O(nlogn)思路二、单调队列:利用双端队列来维护一个单调递减队列,从队列尾部加入值,队列头部取最大值和去除非法数据。遍历数组,从双端队列末尾加入值num.原创 2020-11-27 09:47:28 · 133 阅读 · 0 评论 -
LeetCode-337. 打家劫舍 III
地址:https://leetcode-cn.com/problems/house-robber-iii/198.打家劫舍地址: https://leetcode-cn.com/problems/house-robber/思路:树状dp对于根节点为 rt 的子树,dp[rt][k]为其根节点取和不取(k=0/1)时子树的最大价值,ld,rd分别为其左右节点,那么dp[rt][0]=max(dp[ld][0],dp[ld][1])+max(dp[rd][0],dp[rd][1]);dp[rt][1.原创 2020-11-21 18:07:08 · 105 阅读 · 0 评论 -
LeetCode-96. 不同的二叉搜索树
地址:https://leetcode-cn.com/problems/unique-binary-search-trees/思路:一:dpf(i): 以 i 为根的二叉搜索树个数s(n): n个节点的二叉搜索树个数s(n)=f(1) + f(2) + … + f(n)f(i) = s(i-1)*s(n-i)则s(n) = s(0)*s(n-1) + s(1)*s(n-2) + … + s(n-1)*s(0);二:卡特兰数s(n) = s(0)s(n-1) + s(1)s(n-2) + .原创 2020-11-19 10:51:31 · 109 阅读 · 0 评论 -
2020ICPC·小米 网络选拔赛热身赛-A.ABBA
地址:https://ac.nowcoder.com/acm/contest/8409/A思路:动态规划或组合数学思路一,动态规划:思路二,组合数学:原创 2020-10-25 16:27:28 · 779 阅读 · 0 评论 -
LeetCode-22.括号生成
地址:https://leetcode-cn.com/problems/generate-parentheses/思路:一、搜索,通过对左括号位置的搜索,最终判断其是否合法即可二、DP,对于dp[n]='('+dp[i]+')'+dp[n-i-1]Code:#include<iostream>#include<algorithm>#include&...原创 2020-01-06 18:52:21 · 150 阅读 · 0 评论 -
数位DP-acmer
题目描述计算有多少满足如下条件的字符串:字符串长度为n; 字符串全部由小写英文字母组成; 字符串中包含字串“acmer”。输入第一行一个整数T(1<=T<=100),表示T个数据接下来每行一个整数n(1<=n<=10000),表示字符串的长度输出对于每个测试数据输出有多少个满足条件的不同字符串,最后结果可能很大,请对2019取模。样例...原创 2019-03-17 14:58:01 · 246 阅读 · 0 评论 -
第六届蓝桥杯省赛-垒骰子(DP/矩阵快速幂)
垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面tiezai,骰子就不能稳定的垒起来。atm想计算一下有多少种不同的可能的垒骰子方式。两种垒骰...原创 2019-03-19 20:09:25 · 415 阅读 · 0 评论 -
51nod-1412 AVL树的种类
地址:http://www.51nod.com/Challenge/Problem.html#!#problemId=1412思路:dpdp[i][k]:表示i个结点,最大深度为k的个数。转移方程:dp[i][k]+=dp[j][k-1]*dp[i-1-j][k-1]dp[i][k]+=2*dp[j][k-1]*dp[i-1-j][k-2]Code:#include&...原创 2019-03-14 20:37:02 · 202 阅读 · 0 评论 -
51nod-1657 电子龟
地址:http://www.51nod.com/Challenge/Problem.html#!#problemId=1657思路:DP. 好久没做题了,改改删删做了2个多小时,没想到一次就AC了( ̄▽ ̄)~*dp[i][j]:表示以第i个'T'结尾的字符串中改变j个'T'时的最大价值。首先预处理出每个'T'影响的'F'个数为到下一个'T'之间的'F'个数,记为d[i],(d[0]...原创 2019-03-13 22:59:07 · 760 阅读 · 0 评论 -
Codeforces Round#521(Div.3)题解
虚拟赛做了6个,也还可以了,由于第四题卡了一下(除数为0)有点炸,最后一题分析一下状态转移方程还是比较容易看出来用优先队列来优化地址:http://codeforces.com/contest/1077A. Frog Jumping思路:签到题,只要long long即可Code:#include<iostream>#include<algorithm&g...原创 2018-11-20 17:21:04 · 226 阅读 · 0 评论 -
Educational Codeforces Round 52 (Rated for Div. 2)-D. Three Pieces
地址:http://codeforces.com/contest/1065/problem/D思路:最短路+dp,将每一点的x,y,走的棋子等信息压缩成一个状态 x*n*3+y*3+p;在初始化全部点的连接状态,用floyd求出最短路,在用dp来求解Code:#include<iostream>using namespace std;typedef pair&...原创 2018-10-24 18:58:41 · 364 阅读 · 0 评论 -
牛客小白月赛7-J 方格填色
地址:https://www.nowcoder.com/acm/contest/190/J思路:状态压缩+矩阵快速幂对于状态压缩方程易得转换方程for(int i=2;i<=n;++i) for(int j=0;j<=s;++j) for(int k=0;k<=s;++k) if((j||k)&&!(j&k)) dp[i][j...原创 2018-10-08 19:55:03 · 355 阅读 · 0 评论 -
51nod-1033 骨牌覆盖 V2
地址:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1033思路:状态压缩DP+矩阵快速幂对于每行最多只有5列,因此可以枚举出它们的全部状态 0->(1<<m)-1,对于状态其二进制1表示已经有骨牌覆盖,0表示没有,1.由于是1X2的骨牌,则二进制数11,110是合法的,1,10是不合法...原创 2018-09-28 15:22:33 · 354 阅读 · 0 评论 -
Codeforces Round #515 (Div. 3)-F. Yet another 2D Walking
地址:http://codeforces.com/contest/1066/problem/F思路:贪心+DP:对于同一层的点,最佳的路线是从一端0走到另一端1,只要的选择是两层间的走法,只有四种走法,分别是从一层两端到另一层两端的走法。因此先求出所有层的步数,在用dp[i][j]来表示到第i层时在j端时的最小步数Code:#include<iostream>#in...原创 2018-10-17 21:06:32 · 399 阅读 · 0 评论 -
POJ-1185 炮兵阵地
地址:http://poj.org/problem?id=1185思路:状态压缩DP,对每行的状态进行枚举,由于一个炮兵影响相邻两行,因此用 dp[i][j][k]来保存 第i行的状态为j,第 i-1行状态为k时的最大个数。Code :#include<iostream>#include<cstring>using namespace std;co...原创 2018-09-27 19:44:35 · 372 阅读 · 0 评论 -
2018第九届蓝桥杯B组决赛-搭积木
标题:搭积木小明对搭积木非常感兴趣。他的积木都是同样大小的正立方体。在搭积木时,小明选取 m 块积木作为地基,将他们在桌子上一字排开,中间不留空隙,并称其为第0层。随后,小明可以在上面摆放第1层,第2层,……,最多摆放至第n层。摆放积木必须遵循三条规则:规则1:每块积木必须紧挨着放置在某一块积木的正上方,与其下一层的积木对齐;规则2:同一层中的积木必须连续摆放,中间不能留有空隙;...原创 2019-03-17 15:15:48 · 2433 阅读 · 9 评论 -
蓝桥杯-2016年省赛A组-密码脱落
X星球的考古学家发现了一批古代留下来的密码。这些密码是由A、B、C、D 四种植物的种子串成的序列。仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。输入一行,表示现在看到的密码串(长度不大...原创 2019-03-17 15:09:09 · 689 阅读 · 0 评论 -
poj1664-放苹果
放苹果Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 35949 Accepted: 22216Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input第一行是测试数据的数目t(0 <= t <= 20)。以下...原创 2018-03-22 18:02:05 · 196 阅读 · 0 评论 -
Educational Codeforces Round 66 (Rated for Div. 2)-E. Minimal Segment Cover
地址:https://codeforces.com/contest/1175/problem/E思路:倍增DPdp[i][j]表示以i为起点走 2^j 条线段能够到达的最远位置,那么dp[i][j]=dp[dp[i][j-1]][j-1]对于每次询问,j由大到小判断即可Code:#include<iostream>#include<cstdio&g...原创 2019-06-09 20:18:14 · 136 阅读 · 0 评论 -
Codeforces Global Round 1-D. Jongmah
地址:https://codeforces.com/contest/1110/problem/D思路:DP,唉,我好菜啊,这么简单的DP愣是写不出来QAQ大佬博客:https://www.cnblogs.com/pkgunboat/p/10356117.html解析:首先记录每个数的个数a[x], 容易推出(x, x + 1, x + 2)的个数最多只有2个dp[i][j][k...原创 2019-06-03 16:59:18 · 217 阅读 · 0 评论 -
长春理工大学第十四届程序设计竞赛(重现赛)-M-Orx Zone
链接:https://ac.nowcoder.com/acm/contest/912/M来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述Daenerys Stormborn, 风暴中出生的丹尼莉丝,the Unburnt, 烧不死的,Queen of Meeree...原创 2019-06-08 17:13:24 · 326 阅读 · 0 评论 -
POJ-3368-Frequent values(倍增DP)
地址:http://poj.org/problem?id=3368思路:倍增DP模板题..Code:#include<iostream>#include<cstdio> #include<cmath>using namespace std;const int MAX_N=5e4+5;int n,Q;int a[MAX_N];in...原创 2019-06-07 13:46:09 · 238 阅读 · 0 评论 -
2019 计蒜之道 初赛 第一场- C. 商汤AI园区的n个路口(中等)
33.54% 1000ms 262144K北京市商汤科技开发有限公司建立了新的 AI 人工智能产业园,这个产业园区里有nn个路口,由n - 1n−1条道路连通。第ii条道路连接路口u_iui和v_ivi。每个路口都布有一台信号发射器,信号频段是11到mm之间的一个整数。道路所连接的两个路口的发射信号叠加可能会影响道路的正常运行。具体地,如果第ii...原创 2019-05-31 20:55:02 · 300 阅读 · 0 评论 -
Codeforces Round #563 (Div. 2)-E. Ehab and the Expected GCD Problem
地址:https://codeforces.com/contest/1174/problem/E思路:dp 官方题解https://codeforces.com/blog/entry/67388我们称一个好的置换中的第一个元素为s。那么,s必须有最大可能的质因数个数。此外,每次在移动前缀时更改gcd时,必须只从其中删除一个素数除数。这样,可以保证我们有尽可能多的不同的gcds。现...原创 2019-06-05 10:55:05 · 348 阅读 · 0 评论 -
2019年湘潭大学程序设计竞赛(重现赛)-题解
地址:https://ac.nowcoder.com/acm/contest/893#questionA-Who's better?思路:签到题,if判断即可Code:#include<iostream>#include<algorithm>using namespace std;typedef long long LL;const int MA...原创 2019-05-06 20:41:29 · 791 阅读 · 0 评论 -
Educational Codeforces Round 63 (Rated for Div. 2)-D
地址:http://codeforces.com/contest/1155/problem/D思路:DPDP1:前缀和+DP选择区间=左边不改变区间L[i]+中间改变区间+右边不改变区间R[i] (区间可为空)L[i]: 前i个元素中以第i元素结尾的不变化区间的最大值R[i]: 后n-i个元素中以第i元素开始的不变换区间的最大值dp[i]:L[i]+中间改变区间dp[...原创 2019-04-23 16:39:10 · 159 阅读 · 0 评论 -
计蒜客 2019 蓝桥杯省赛 A 组模拟赛(一)I. 程序设计:人以群分
某班有nn个同学,每个同学有一个外向程度a_iai。由于要进行某个活动,需要把他们分成若干个小组,每个小组的人数至少为mm人。不同外向程度的人在一个小组会产生不开心值,定义一个小组的不开心值为组内成员外向程度最大值和最小值的差,一个班级的不开心值为所有小组不开心值的最大值。那么问题来了,如何分组使得班级的不开心值最小,请你求出这个最小的班级不开心值。输入格式第一行两个整数...原创 2019-03-21 13:37:12 · 1239 阅读 · 3 评论 -
POJ-3254 Corn Fields
地址:http://poj.org/problem?id=3254思路:状态压缩dp入门,对于每行的状态枚举,用二进制数来压缩保存。Code:#include<iostream>#include<cstring>using namespace std;const int MOD=1e8;const int MAX_N=13;const int ...原创 2018-09-26 21:37:49 · 169 阅读 · 0 评论 -
牛客小白月赛7-D 明七暗七
地址:https://www.nowcoder.com/acm/contest/190/D思路:数位DP+二分。利用数位DP可以求出从1到n的满足条件的个数,而对于求具体的数字,则可以用二分查找来求解dp[i][j][k]: 前i位余数为j,是否有7的个数 Code:#include<iostream>#include<cstring>usin...原创 2018-09-25 18:38:17 · 438 阅读 · 0 评论 -
牛客-埃森哲杯第十六届上海大学程序设计联赛-L-K序列
链接:https://www.nowcoder.com/acm/contest/91/L来源:牛客网题目描述给一个数组 a,长度为 n,若某个子序列中的和为 K 的倍数,那么这个序列被称为“K 序列”。现在要你 对数组 a 求出最长的子序列的长度,满足这个序列是 K 序列。 输入描述:第一行为两个整数 n, K, 以空格分隔,第二行为 n 个整数,表示 a[1] ∼ a[n],1 ≤ n ≤ 10...原创 2018-04-15 20:59:33 · 543 阅读 · 2 评论 -
CodeVs-3012 线段覆盖 4
3012 线段覆盖 4 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 黄金 Gold题目描述 Description数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段价值之和最大。输入描述 Input Description第一行一个整数n,表示有多少条线段。接下来...原创 2018-04-11 13:13:20 · 348 阅读 · 0 评论 -
蓝桥杯-对局匹配
2017第八届蓝桥杯决赛试题-对局匹配小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, ... AN。小明想了解最多可能有多少名用户同时在线寻找对手,但是...原创 2018-04-11 09:06:40 · 938 阅读 · 1 评论 -
51nod-1021 石子归并
1021 石子归并 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。例如: 1 2 3 4,有不少合并方法1 2 3 4 => 3 3 4(3) => 6 4(9) =>...原创 2018-04-02 10:51:37 · 256 阅读 · 0 评论 -
51nod-1102 面积最大的矩形
1102 面积最大的矩形 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注有一个正整数的数组,化为直方图,求此直方图包含的最大矩形面积。例如 2,1,5,6,2,3,对应的直方图如下:面积最大的矩形为5,6组成的宽度为2的矩形,面积为10。Input第1行:1个数N,表示数组的长度(0 <= N <= 50000)第2 - N + 1行:...原创 2018-04-08 18:25:12 · 307 阅读 · 0 评论 -
CodeVs-2598 编辑距离问题
2598 编辑距离问题 时间限制: 1 s空间限制: 128000 KB题目等级 : 钻石 Diamond 题目描述 Description设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括:(1)删除一个字符;(2)插入一个字符;(3)将一个字符改为另一个字符。将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B)。试编写程...原创 2018-03-13 22:24:44 · 243 阅读 · 0 评论 -
51nod-1092 回文字符串
1092 回文字符串 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。In...原创 2018-03-13 21:28:08 · 271 阅读 · 0 评论 -
采油区域 前缀和+DP
算法训练 采油区域 时间限制:2.0s 内存限制:512.0MB 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井。被拍卖的整块土地为一个矩形区域,被划分为M×N个小块。 Siruseri地质调查局有关于Navalur土地石油储量的估测数据。这些数据表示为M×N个非负整数,即对每一小块土地石油储量的估计值。 ...原创 2018-03-05 19:58:37 · 1351 阅读 · 0 评论