
dp
dp
Legendout
退役ACM银牌loser
展开
-
G 林克与宝箱咒语
【代码】G 林克与宝箱咒语。原创 2022-09-13 19:33:20 · 361 阅读 · 0 评论 -
牛客练习赛D(换根dp)
然后我们要计算 fx+1 的乘积,并且不能计算当前k的值。不能先乘再除,我们就需要前缀积和后缀积。主要是当x和y中的祖先节点计数时,需要得到以该点为根的信息。原创 2022-09-07 16:32:53 · 359 阅读 · 0 评论 -
D. Tree Queries
Codeforces Round #801 (Div. 2) and EPIC Institute of Technology Round A - D - 知乎 Codeforces Round #801 (Div. 2) and EPIC Institute of Technology Round(A-E) - 知乎orz,orz原创 2022-06-29 22:31:27 · 190 阅读 · 0 评论 -
C. Zero Path
Problem - C - Codeforces额,感觉是很妙妙的题。首先n+m为偶数那么就不能结果为偶数,即0.而且结果要是能为0,那么所有路上到结果的肯定都是偶数。那么判断可能的最大值和最小值,假如最大值大于0且最小值小于0,那么就说明可能为0的。......原创 2022-06-29 22:00:55 · 279 阅读 · 0 评论 -
虚树 (模板)
[SDOI2011] 消耗战 - 洛谷虚树,就是用来在图上dp时,避免无用的点太多影响时间的一种优化方式,它新建了一张图,从而减少无关点的遍历,在稀疏图上时能大大优化时间。具体做法就是,把所有关键点按dfs序排序,然后一条链一条链地遍历,其中会出现4中情况,参考大佬博客:题解 P2495 【[SDOI2011]消耗战】 - Rhodoks 的博客 - 洛谷博客 我们按照栈来遍历就正好符合由一条链跳到另一条链的过程,叶节点先出栈,根节点不变,再入新的链,按照不同情况连点,目的是保证这些关键点互相连接。参考代码原创 2022-06-26 14:08:49 · 200 阅读 · 0 评论 -
Moving Chips (dp)
Problem - E - Codeforces本来想叫他状压dp的,但是总共也就压了4个状态,不压也就是码量大亿些。但是它也压成二进制了,而且状压更具普适性,还是当状压dp吧。不过没写出来还是怪可惜的。我们可以把每一列的四种情况当作二进制的00,01,10,11。考虑从左向右合并,由于只能横竖移动,我们可以每次把前一次的状态平移过来,然后再考虑如何在本列上下合并。那么我们把前一列平移的时候,有几个一就代表要产生多少贡献。差不多就是这样了。/*keep on going and never原创 2022-05-15 14:26:58 · 257 阅读 · 0 评论 -
Remove Directed Edges (DAG-dp)
Problem - G - Codeforces删完之后肯定是一条链。那么进行一个链上dp就行了。因为每个点都要删边,所以入度出度不符合的不能算上。/*keep on going and never give up*/#include<bits/stdc++.h>using namespace std;#define int long long#define ll long long#define db(x) cerr<<(#x)<<" "<&l原创 2022-05-13 16:08:14 · 161 阅读 · 0 评论 -
Preorder (dp)
Problem - E - Codeforces题解:考虑每个节点下的两个子树是否完全相同,不相同的话就可以交换,即*2,相同的话则没有贡献。#include<bits/stdc++.h>typedef long long ll;using namespace std;const int maxn=3e5+7;int n;char s[maxn];ll mod=998244353;bool cmp(int a,int b){ if(s[a]!=s[b]) ret.原创 2022-05-13 15:54:34 · 109 阅读 · 0 评论 -
no crossing (区间dp 逆向思维)
no crossing - 题目 - Daimayuan Online Judge题意:给出一个有向图,找一条恰好经过 k 个点的最短路径,要求每次选的边不能跃过之前已经经过的节点。即对于路径中的边 x→y ,不存在以前经过的点 tt 使得三者的编号满足 min(x,y)≤t≤max(x,y)输入格式第一行三个数字 n,k,m接下来m行 , 每行 3 个整数 ai,bi,ci表示存在一条从 ai→bi , 长度为ci 的有向边。解题思路:题目的意思即为,在路径上,找这样的走法:原创 2022-05-13 14:24:40 · 365 阅读 · 0 评论 -
树形 dp
1:最大独立集2:最小覆盖集3:最小独立集原创 2022-05-05 20:36:00 · 138 阅读 · 0 评论 -
P1052 [NOIP2005 提高组] 过河 (dp)
[NOIP2005 提高组] 过河 - 洛谷题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,\cdots,L0,1,⋯,L(其中LL是桥的长度)。坐标为00的点表示桥的起点,坐标为LL的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是SS到TT之间的任意正整数(包括S,TS,T)。...原创 2022-05-01 22:41:22 · 598 阅读 · 0 评论 -
D. Optimal Partition ( 树状数组优化dp )
Problem - D - Codeforces题意:给出一个长度为n的数组a,现在需要将该数组分成任意段,每段的贡献为:问你贡献最大和。题解:首先分析一下:设一段区间和为sum;当sum<0时,我们把他们拆成一段段区间为1,贡献只大不小;sum==0时,我们从中间拆开,假如两段都小于零,那么总贡献不变;假如有大于0的,那么总值变大;再把小于0的子区间做如下拆分,最后都会变成大于0的区间和小于0且长度为1的区间。那么只剩下sum>0的区间了。显然满足dp性质,原创 2022-04-29 20:28:50 · 975 阅读 · 0 评论 -
牛客推荐系统开发之选飞行棋子(状压dp)
链接:登录—专业IT笔试面试备考平台_牛客网牛客的新开发的推荐系统使得牛客的DAU(日活跃用户数量)上升了一个档次,于是牛客的老板组织了一场团建。在团建时,牛牛、牛妹、王清楚和茶山牛四人想要愉快地玩飞行棋:现在有n{n}n种飞行棋子,一开始他们每个人每种棋子都有且仅有一个,但是不幸的是,有的人把一些棋子弄丢了,现在他们要分别在自己所拥有的棋子中选择一个出来玩游戏,要求他们四个人所选择的棋子的种类两两均不能相同,也就是说,任意两个人的棋子的种类都是不同的。你想知道一共有多少种选择棋子的方式。第一原创 2022-04-24 21:35:28 · 1681 阅读 · 0 评论 -
牛客月赛48 C F(差分 树形dp 素数筛)
牛客小白月赛48_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJps:赛时只出了4题,难过。明天打天梯赛,本来是康复训练,没AK不爽啊。补俩个题解下班算了。cf都没打。越欠越多。五一看来要补好几场cf了。不过晚点补,补题轻松一点。网上题解……一言难尽。C:可疑的区间给出n个有趣的区间编号分别为1∼n1\sim n1∼n。给出一个整数len ,对于任意一段长度为len 的区间[l,r],(r−l+1=len),其中l是正整数。其有趣值的定义为:与...原创 2022-04-23 00:34:44 · 593 阅读 · 0 评论 -
Optimal Coin Change(完全背包 路径记录)
路径记录记一手。#include <bits/stdc++.h>int v, n, f[17], dp[10007], pre[10007], inf = 0x3f3f3f3f, ans[10007];int main() {// freopen("in.txt", "r", stdin); while (~scanf("%d%d", &v, &n)) { memset(dp, 0x3f, sizeof(dp)); mem原创 2022-04-21 13:15:31 · 124 阅读 · 0 评论 -
Infinite Set(dp)
一眼懂,orzD. Infinite Set 题解(思维+dp) - hunxuewangzi - 博客园 (cnblogs.com)原创 2022-04-20 22:39:58 · 124 阅读 · 0 评论 -
Cards (并查集 dp)
F - Cards题意:给你n个卡片,每个卡片正背面各有一个数字,大小为1到n,问你有多少种选法让选出的情况使1到n都出现过。题解:看到这种情况肯定想到dp。但是怎么dp呢。考虑在卡片上两个数字连一条边,...原创 2022-04-20 22:00:30 · 327 阅读 · 0 评论 -
P1364 医院设置 (树的重心)
医院设置 - 洛谷题目描述设有一棵二叉树,如图:其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为11。如上图中,若医院建在1 处,则距离和=4+12+2\times20+2\times40=136=4+12+2×20+2×40=136;若医院建在33处,则距离和=4\times2+13+20+40=81=4×2+13+20+40=81。输入格式第一行一个整数nn,...原创 2022-04-13 19:52:59 · 373 阅读 · 0 评论 -
G. Damaged Bicycle (状压dp 最短路)
传送门:Problem - G - Codeforces题意:一个有向图,有k个单车,每个单车有概率是坏的,骑单车比走路快,问1节点到n节点的最小期望。题解:首先一个一个地去找单车,如果前面的没找到,就往后找;记忆化搜索的话,就得先从起点,当作额外的一个单车,然后一直往下搜,状态上有一的就说明来过这个点,跳过;最先保存的状态就是1到k-1全坏的情况;然后依次返回记忆化搜索的值。#include <bits/stdc++.h>using namespace std;//原创 2022-04-06 21:49:31 · 1037 阅读 · 0 评论 -
CF372C Watching Fireworks is Fun (单调队列优化dp)
Problem - 372C - Codeforces题目大意:城镇中有n个位置,有 m个烟花要放。第i个烟花放出的时间记为 t,放出的位置记为a 。如果烟花放出的时候,你处在位置x,那么你将收获b-abs(a-x)点快乐值。初始你可在任意位置,你每个单位时间可以移动不大于d 个单位距离。现在你需要最大化你能获得的快乐值。(1 ≤ n ≤ 150000; 1 ≤ m ≤ 300; 1 ≤ d ≤ n).题解:怎么dp呢......设一维时间,一维位置,差不多了。但是位置有点大,如果.原创 2022-04-04 21:47:49 · 330 阅读 · 0 评论 -
P1896 [SCOI2005]互不侵犯 (状压dp)
[SCOI2005]互不侵犯 - 洛谷题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。注:数据有加强(2018/4/25)输入格式只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)输出格式所得的方案数输入输出样例输入 #1复制3 2输出 #1复制16题解:搜索显然是不怎么好过的,原创 2022-04-04 15:47:59 · 870 阅读 · 0 评论 -
xinjun与阴阳师 (分组背包)
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述xinjun是各类手游的狂热粉丝,因随手一氪、一氪上千而威震工大,现在他迷上了阴阳师。xinjun玩手游有一个习惯,就是经过层层计算制定出一套方案来使操作利益最大化(因此即使有扫荡券也不用,故称圣雄肝帝)。已知阴阳师有N个模式可以操作,模式i有ai种操作,但每种模式每日只能选用一种操作,可以不选。操作j能收益vj,但需要花费体力wj点。xinjun每日拥有体力M点,求他每日最多能得到多少收益。输入描述:第一行一个正.原创 2022-03-24 12:24:03 · 154 阅读 · 0 评论 -
牛客练习赛97:月之暗面 (树上dp dfs)
原题链接:登录—专业IT笔试面试备考平台_牛客网题意:给出一棵 n 个点的树,有 x 种普通颜色,y 种特殊颜色现在要给树上的每个节点染色,普通颜色染色没有限制,但两个相邻的节点不能染相同颜色的特殊颜色求染色方案数,答案对 998244353 取模。解题思路:一眼树上dp(doge),考虑从叶节点开始往根节点染色,由于有普通,特殊之分,在每个节点额外开一维表示这个节点染哪种类型的颜色。dp【i】【0/1】表示在i这个节点上染普通还是特殊颜色,如果子节点染特殊颜色,那么这个节点染特原创 2022-03-21 22:22:48 · 429 阅读 · 0 评论 -
[线性dp]:花店橱窗(路径记录)
题目链接:登录—专业IT笔试面试备考平台_牛客网链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网描述:小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。每种花都原创 2022-03-07 16:59:27 · 216 阅读 · 0 评论