dp
Tearsゆ
破铜烂铁ACMer
展开
-
CF 474E. Pillars (线段树优化dp)
CF 474E. Pillars (线段树优化dp)原创 2022-11-25 17:33:33 · 330 阅读 · 4 评论 -
CF543D Road Improvement (换根dp,前后缀积)
CF543D Road Improvement (换根dp,前后缀积)原创 2022-11-25 16:31:12 · 152 阅读 · 0 评论 -
F. x-prime Substrings (自动机上dp+滚动数组压维)
F. x-prime Substrings (自动机上dp+滚动数组压维)原创 2022-09-05 17:06:02 · 109 阅读 · 0 评论 -
P7456 [CERC2018] The ABCD Murderer (ac自动机+线段树优化dp/反向st)
P7456 [CERC2018] The ABCD Murderer (ac自动机+线段树优化dp)原创 2022-09-01 19:02:45 · 274 阅读 · 0 评论 -
[SDOI2014]数数 (ac自动机+数位dp)
[SDOI2014]数数 (ac自动机+数位dp)原创 2022-09-01 14:44:16 · 117 阅读 · 0 评论 -
act DP Q - Flowers 树状数组优化dp
数据结构优化dp原创 2022-07-16 13:38:04 · 127 阅读 · 0 评论 -
二 分 图 状压 好题
二分图状压原创 2022-07-16 13:25:29 · 50 阅读 · 0 评论 -
Educational Codeforces Round 111 (Rated for Div. 2) E - Stringforces
二分+状压原创 2022-07-04 11:41:48 · 53 阅读 · 0 评论 -
第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)L.Bit Sequence(银牌数位dp)
济南银牌题原创 2022-07-03 18:08:36 · 238 阅读 · 0 评论 -
数位dp 专题
数位dp原创 2022-07-01 19:54:30 · 158 阅读 · 1 评论 -
基环树dp入门
基环树原创 2022-06-30 14:13:21 · 328 阅读 · 0 评论 -
牛客练习赛101 罪业之都
树形dp原创 2022-06-25 13:11:38 · 128 阅读 · 0 评论 -
蓝魔法师 (树形dp)
link#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y second#define pb push_back#define inf 1e18#define IOS std::ios::sync_with_stdio(false原创 2022-05-28 20:06:25 · 156 阅读 · 0 评论 -
Tree(树形dp)
link做法显然 dp方程dp[u]*=(dp[v]+1);我们考虑换跟a n s [ v ] = ( (a n s [u ] / ( d p[ v ] + 1 )) + 1 ) * dp [ v ] ;dp[u]+1)%mod==0 单独处理一下即可#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,原创 2022-05-28 20:01:44 · 72 阅读 · 0 评论 -
树形dp 关于转化为边的贡献的一些题目
1#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y second#define pb push_back#define inf 1e18#define IOS std::ios::sync_with_stdio(false);c原创 2022-05-26 16:12:23 · 73 阅读 · 0 评论 -
acwing 217. 绿豆蛙的归宿(概率dp入门)
link#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y second#define pb push_back#define inf 1e18#define IOS std::ios::sync_with_stdio(false原创 2022-05-24 15:55:39 · 78 阅读 · 0 评论 -
The 2019 ICPC Asia Shanghai Regional Contest H.Tree Partition(二分+树dp)
link题意一颗(n<=1e5)的树,要求把其分为(k<=n)个子树,要求每个子树的最大值最小最大值最小 二分典中典 我们从下往上 如果发现一个树的大小 >mid 我们就切割它#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first原创 2022-05-24 12:37:11 · 73 阅读 · 0 评论 -
CodeCraft-21 and Codeforces Round #711 (Div. 2) F. Christmas Game (换根dp+树上博弈(nim))
link这个题有点难!原创 2022-05-19 17:19:33 · 120 阅读 · 0 评论 -
DongDong跳一跳 (线段树优化dp)
link不多赘述 注意一些细节#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y second#define pb push_back#define inf 1e18#define IOS std::ios::sync_with原创 2022-05-18 21:53:33 · 107 阅读 · 0 评论 -
E . Takahashi and Animals(dp)
link我们的初始状态有两种状态 跑两轮dp即可#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y second#define pb push_back#define inf 1e18#define INF 0x3f3f3f3f3f原创 2022-05-18 10:15:12 · 193 阅读 · 0 评论 -
单调队列优化dp
题意n个点 每个点有个权值 每m个点之间必须选一个点求最小代价 (选点的代价就为权值#include <bits/stdc++.h>using namespace std;//#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y second#define pb push_back#define inf 1e18原创 2022-05-16 20:19:27 · 58 阅读 · 0 评论 -
Codeforces Round #697 (Div. 3)G. Strange Beauty(dp)
link做法题目要 求最少删除的 我们转化为保留最多的dp[ i ] 表示最小是i 的情况下的能保留的最多的我们预处理出 每个数出现的次数d p [ i ] = m a x ( d p [ i ], d p [ j * i ] + n u m [ i ] );#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int原创 2022-05-16 17:34:20 · 91 阅读 · 0 评论 -
Codeforces Round #506 (Div. 3) E. Tree with Small Distances(思维 树dp)
link题意:三级标题一棵树,你可以加一些边使根节点1到其他所有点的距离不超过2,问加的最少边数很显然的是我们每次连的边都是连接根节点的 如果u的儿子v的深度大于2 我们向u连边d[v]=2d[fa]=min(2,d[fa])d[u]=1#include <bits/stdc++.h>using namespace std;int n;const int N=200010;int d[N];vector<int >g[N];int ans;#define原创 2022-05-16 17:26:35 · 107 阅读 · 0 评论 -
多比特杯武汉工程大学第四届ACM程序设计竞赛同步赛 F能源收集者 (树形dp)
link直接暴力set按题意模拟 转化为树的直径有一点要注意如果不加if(a[v].size()>a[u].size())swap(a[u],a[v]);会mle#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y secon原创 2022-05-14 13:17:37 · 210 阅读 · 1 评论 -
[CF675E] 线段树优化dp
link分析dp[ i ] 表示i的所有贡献贪心的思想 假设i->j 我们每次都会选择 那个能到达的最远的那个k这样我们可以保证我们少走至少一次所以我们倒着推#include <bits/stdc++.h>using namespace std;#define int long long//typedef long long ll;typedef pair<int,int> pii;#define x first #define y sec原创 2022-05-05 17:36:47 · 246 阅读 · 0 评论 -
Codeforces Round #595 (Div. 3) F. Maximum Weight Subset
link题意给你一个树 让你求一个集合的所有点的权值和这个几何满足所有的点之间的距离大于k一道很妙的树形dpdp[i][j] 表示以i为根只取深度大于等于j的最大值然后转移就行具体细节看代码#include <bits/stdc++.h>using namespace std;//#define int long longtypedef long long ll;typedef pair<int,int> pii;#define x first #d原创 2022-05-04 22:47:52 · 80 阅读 · 0 评论 -
线段树维护dp
links[i]为前缀和价值为r−l+1 s [ r ] − s [ l − 1 ] > 00 s [ r ]-r [ l - 1]=0r-l+1 s[ r ] - s [ l - 1 ]<0求最大价值和我们就可以考虑建立权值线段树维护三个值 //线段树部分省略了 #include <bits/stdc++.h> using namespace std; #define int l原创 2022-05-04 12:49:26 · 268 阅读 · 0 评论