DP
动态规划学习
ghostttttttiii
这个作者很懒,什么都没留下…
展开
-
P4309 [TJOI2013]最长上升子序列(dp+树状数组优化)
[TJOI2013]最长上升子序列 - 洛谷https://www.luogu.com.cn/problem/P4309先用vector模拟一遍插入过程,又因为是从1-n的插入,所以我们可以直接遍历插入后的数组,举一个例子当i出现时,小于i的数字肯定也在数组里,所以我们只需要顺序遍历就可以了,然后我们可以通过用树状数组记录小于 i 的dp最大值,这里dp[i]可以理解为以i为结尾的最大递增子序列的元素数量,一道很好的思维题。...原创 2022-07-12 15:26:59 · 341 阅读 · 0 评论 -
小白月赛53 F(状态转移dp+优化)
根据数据量和题目很容易联想到状态转移dp,且我们容易将状态方程写为dp[i]+=dp[j] if i&j==0 其中i为当前队列最后一个人的状态但这样时间复杂度超了,我们需要考虑优化状态,可以将dp数组变为dp[i][j] i表示当前状态的首8位,低八位表示与j没有交集的总方案数,...原创 2022-07-09 15:24:22 · 87 阅读 · 0 评论 -
单调队列的运用
[HAOI2007]理想的正方形 - 洛谷https://www.luogu.com.cn/problem/P2216首先这一题我们可以压缩矩阵,用单调队列维护行和列先维护每一行区间最大值和最小值再维护更新后的数组的每一列的最大值和最小值最后得出的数组的每一个元素就是n*n矩阵的元素的最大值和最小值,画图就可以明白了、选择数字 - 洛谷https://www.luogu.com.cn/problem/P2034这一题属于单调队列优化的dp题目要求我们求取若干数,但不连续取k个以上的数后的最大和。我们可原创 2022-07-08 14:45:11 · 186 阅读 · 0 评论 -
单调栈性质的运用
[COI2007] Patrik 音乐会的等待 - 洛谷https://www.luogu.com.cn/problem/P1823通过单调栈的性质,来遍历序列,若该元素大于栈顶,则他们两个可以构成一对能够相视的人,一直推就行,当然我们还要记录相同元素的个数,以便直接加起来。Problem - D - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.原创 2022-07-07 21:23:21 · 100 阅读 · 0 评论 -
P3047 [USACO12FEB]Nearby Cows G(树形dp)
[USACO12FEB]Nearby Cows G - 洛谷https://www.luogu.com.cn/problem/P3047一个很有趣的树形dp我们可以设状态f【i】【j】, i为当前根,j为距离为j时的点权和首先我们可以取1为根跑一遍dfs,将以i为根的子树的点权和记录下即用儿子更新父亲,此时1肯定已经求完了,我们就可以再一次从1开始跑dfs用父亲去更新儿子。...原创 2022-07-05 21:37:07 · 288 阅读 · 0 评论 -
P2704 [NOI2001] 炮兵阵地(状压dp)
[NOI2001] 炮兵阵地 - 洛谷https://www.luogu.com.cn/problem/P2704今天又是学习状压dp的一天!这题的数据范围很明显可以用状压dp来写,上手就应该想到dp数组中有两维是第i行和第i行的状态,但炮兵的影响有两行,所以还要记录上一行的状态。可以先把每一行可行的方案数求出来再枚举,可以节省点时间,有些题可能会卡掉。...原创 2022-07-02 14:53:57 · 219 阅读 · 0 评论 -
[USACO12MAR]Cows in a Skyscraper G(状态压缩dp)
[USACO12MAR]Cows in a Skyscraper G - 洛谷https://www.luogu.com.cn/problem/P3052继续学习我的状压dp,一道状压入门好题还是继续考虑状态和该状态下的量,我发现状压的很多题都要记录该状态的量。这道题就是记录目前牛的坐上电梯的状态,然后记录该状态下最后一班电梯的剩余,然后开始考虑其他牛牛能不能进来,或者是去下一班电梯。...原创 2022-07-02 01:26:39 · 208 阅读 · 0 评论 -
P1896 [SCOI2005] 互不侵犯(状压dp)
[SCOI2005] 互不侵犯 - 洛谷https://www.luogu.com.cn/problem/P1896初学状压dp,看了第一篇题解后的感觉学到了很多,首先矩阵的状压可以以行入手,记录在当前这一行的状态,首先我们看本题思考后有3个状态,所在行,当前行状态和国王数目。所以就要思考递推方程为f[i][j][k](i为当前行,j为此行状态,k为国王数目)+=f[i-1][s][k-t](s为上一行状态,t为这一行的国王数目)所以我们要预先处理掉一行中可能的状态以及改状态下的国王数目,所以第二维可以优化原创 2022-07-01 16:17:45 · 176 阅读 · 0 评论 -
小bai月赛49 E 禅(DP)
https://ac.nowcoder.com/acm/contest/11226/E原创 2022-05-31 20:18:48 · 59 阅读 · 0 评论 -
P1387 最大正方形(dp)
最大正方形 - 洛谷https://www.luogu.com.cn/problem/P1387题目描述在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长。输入格式输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔开,0或1.输出格式一个整数,最大正方形的边长int n, m;int s[105][105];int f[101][105];int main() { scanf("%d %d原创 2022-05-24 14:19:41 · 77 阅读 · 0 评论 -
P1006 [NOIP2008 提高组] 传纸条(DP)
[NOIP2008 提高组] 传纸条 - 洛谷https://www.luogu.com.cn/problem/P1006#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <原创 2022-05-21 00:39:10 · 318 阅读 · 0 评论 -
大臣的旅费(树上dp)
记录节点的最长路和次长路int n;bool vis[MAXN];int head[MAXN];int nxt[MAXN];int s[MAXN];int cnt;int ver[MAXN];int dp[MAXN][2];inline void add(int x, int y) { ver[++cnt] = y; nxt[cnt] = head[x]; head[x] = cnt;}int ans = 0;void dfs(int p, int fa) { dp.原创 2022-05-19 22:08:40 · 67 阅读 · 0 评论 -
#556. 三进制循环(树上dp)
三进制循环 - 题目 - Daimayuan Online Judgehttp://oj.daimayuan.top/problem/556#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#in原创 2022-05-19 21:55:59 · 103 阅读 · 0 评论 -
ABC251 (E)Takahashi and Animals(dp)
E - Takahashi and Animalshttps://atcoder.jp/contests/abc251/tasks/abc251_e#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>原创 2022-05-17 00:21:14 · 242 阅读 · 0 评论 -
P1417 烹调方案(01背包)
P1417烹调方案https://www.luogu.com.cn/problem/P1417#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include .原创 2022-05-11 23:10:54 · 115 阅读 · 0 评论 -
P4302 [SCOI2003]字符串折叠(区间dp)
P4302[SCOI2003]字符串折叠https://www.luogu.com.cn/problem/P4302#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>.原创 2022-05-05 17:06:38 · 158 阅读 · 0 评论 -
P1273 有线电视网(树上背包)
P1273有线电视网https://www.luogu.com.cn/problem/P1273很好的一题#include <cstdio>#include <cstring>#include <string>#include <vector>#include <cmath>#include <queue>using namespace std;const int MAXN=1e6+10;using ll=..原创 2022-05-04 21:41:12 · 337 阅读 · 0 评论 -
P1122 最大子树和(树上dp)
P1122最大子树和https://www.luogu.com.cn/problem/P1122#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include.原创 2022-05-03 20:31:13 · 190 阅读 · 0 评论 -
P2015 二叉苹果树(树上背包)
二叉苹果树 - 洛谷https://www.luogu.com.cn/problem/P2015一道很好的树上dp题,其中siz数组可以没有就是稍微优化一下而已#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>.原创 2022-05-03 19:46:59 · 175 阅读 · 0 评论 -
P2014 [CTSC1997] 选课(树上背包)
[CTSC1997] 选课 - 洛谷https://www.luogu.com.cn/problem/P2014#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#原创 2022-05-03 16:50:26 · 230 阅读 · 0 评论 -
P2016 战略游戏(树形dp)
P2016战略游戏#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include <set>#include <unordered_m.原创 2022-05-03 09:05:23 · 216 阅读 · 0 评论 -
P1352 没有上司的舞会(树形dp)
没有上司的舞会 - 洛谷#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include <set>#include <unordered原创 2022-05-03 08:24:49 · 139 阅读 · 0 评论 -
P1005 [NOIP2007 提高组] 矩阵取数游戏(区间dp)
P1005[NOIP2007 提高组] 矩阵取数游戏https://www.luogu.com.cn/problem/P1005#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstr.原创 2022-05-01 15:13:19 · 1402 阅读 · 0 评论 -
CF607B Zuma(区间dp)
CF607BZumahttps://www.luogu.com.cn/problem/CF607B#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#includ.原创 2022-04-30 22:58:00 · 282 阅读 · 0 评论 -
P3205 [HNOI2010]合唱队(区间dp)
[HNOI2010]合唱队 - 洛谷https://www.luogu.com.cn/problem/P3205#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#原创 2022-04-30 22:26:30 · 81 阅读 · 0 评论 -
P3558 [POI2013]BAJ-Bytecomputer(线性dp)
[POI2013]BAJ-Bytecomputer - 洛谷https://www.luogu.com.cn/problem/P3558我认为这是一道很好的线性dp题,状态转移时要考虑很多情况,需要细心,做完这题之后也有很多感悟#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <q原创 2022-04-29 16:23:21 · 176 阅读 · 0 评论 -
P2858 [USACO06FEB]Treats for the Cows G/S(区间dp)
P2858[USACO06FEB]Treats for the Cows G/Shttps://www.luogu.com.cn/problem/P2858#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#in.原创 2022-04-28 23:10:06 · 291 阅读 · 0 评论 -
P4170 [CQOI2007]涂色(区间dp)
P4170[CQOI2007]涂色https://www.luogu.com.cn/problem/P4170#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#.原创 2022-04-28 14:54:45 · 91 阅读 · 0 评论 -
P3146 [USACO16OPEN]248 G(区间DP)
[USACO16OPEN]248 G - 洛谷https://www.luogu.com.cn/problem/P3146#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring&原创 2022-04-28 00:24:23 · 300 阅读 · 0 评论 -
P1063 [NOIP2006 提高组] 能量项链(区间dp)
P1063[NOIP2006 提高组] 能量项链https://www.luogu.com.cn/problem/P1063#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstrin.原创 2022-04-27 23:55:47 · 122 阅读 · 0 评论 -
P1040 [NOIP2003 提高组] 加分二叉树(区间dp)
[NOIP2003 提高组] 加分二叉树 - 洛谷https://www.luogu.com.cn/problem/P1040#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstrin原创 2022-04-27 23:01:35 · 404 阅读 · 0 评论 -
P1880 [NOI1995] 石子合并(区间dp)
P1880[NOI1995] 石子合并https://www.luogu.com.cn/problem/P1880#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>.原创 2022-04-27 20:21:50 · 163 阅读 · 0 评论 -
P1156 垃圾陷阱(背包dp)
P1156垃圾陷阱https://www.luogu.com.cn/problem/P1156#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include .原创 2022-04-19 21:28:38 · 142 阅读 · 0 评论 -
P1833 樱花(完全背包+多重背包)
P1833樱花https://www.luogu.com.cn/problem/P1833这一题就是完全背包与多重背包一起,但做到这题的时候也学到了另一种多重背包嘻嘻。#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack&g.原创 2022-04-19 20:03:49 · 324 阅读 · 0 评论 -
P1775 石子合并(弱化版)(区间DP)
石子合并(弱化版) - 洛谷https://www.luogu.com.cn/problem/P1775#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#incl原创 2022-04-19 18:59:27 · 287 阅读 · 0 评论 -
P1868 饥饿的奶牛(线性dp)
P1868饥饿的奶牛https://www.luogu.com.cn/problem/P1868#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include.原创 2022-04-07 11:03:12 · 280 阅读 · 0 评论 -
P2340 [USACO03FALL]Cow Exhibition G(01背包变形)
P2340[USACO03FALL]Cow Exhibition Ghttps://www.luogu.com.cn/problem/P2340#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include .原创 2022-04-07 10:28:01 · 135 阅读 · 0 评论 -
P1541 [NOIP2010 提高组] 乌龟棋(线性dp)
P1541[NOIP2010 提高组] 乌龟棋https://www.luogu.com.cn/problem/P1541#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring.原创 2022-04-06 23:43:58 · 279 阅读 · 0 评论 -
P3842 [TJOI2007]线段(线性dp)
[TJOI2007]线段 - 洛谷https://www.luogu.com.cn/problem/P3842#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#i原创 2022-04-06 21:50:53 · 324 阅读 · 0 评论 -
P1140 相似基因(线性dp)
P1140相似基因https://www.luogu.com.cn/problem/P1140写完这一题之后感觉自己进步了哈哈哈#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include ...原创 2022-04-06 21:11:40 · 302 阅读 · 0 评论