随笔分类 -  算法合集 / 动态规划

摘要:C C 观察题意, 模拟样例, 首先 0 不能动, 因为相邻的 mex 会改变, 然后 1 也是如此, 所以我们固定了 01, 设两个指针 lr 表示固定的位置, 那么此时在他们两个中间的数可以随便移动, 假设有 x 个空位 阅读全文 »
posted @ 2024-10-09 20:42 o-Sakurajimamai-o 阅读(11) 评论(0) 推荐(0) 编辑
摘要:问题引出: 给出 n 个点的树,求出分别以不同的 i 为根时,所有结点深度的和,根节点的深度为 0。 首先我们有个自然的暴力思路, 也就是以每个节点为根节点做一遍 dfs 这样的复杂度是 O(n2) 级别的, 所以要进行优化 看下图: 我们首先假设每个节点具 阅读全文 »
posted @ 2024-10-06 12:09 o-Sakurajimamai-o 阅读(8) 评论(0) 推荐(0) 编辑
摘要:数位 dp 大多使用高位计算的时候使用低位计算后的结果,从而做到优化效率 [ZJOI2010] 数字计数 题目描述 给定两个正整数 ab,求在 [a,b] 中的所有整数中,每个数码各出现了多少次。 保证 1ab1012。 求 阅读全文 »
posted @ 2024-07-20 13:31 o-Sakurajimamai-o 阅读(12) 评论(0) 推荐(0) 编辑
摘要:容斥原理的基本原理是根据集合之间的交来求集合之间的并,以下仅为容斥原理的部分相关习题 https://codeforces.com/problemset/problem/803/F 题意了然,即求出所有符合公共最小公约数为1的序列数目,那么考虑一种特殊情况:只有数字i,很明显他们的最小公约数一定是i 阅读全文 »
posted @ 2024-06-04 14:56 o-Sakurajimamai-o 阅读(58) 评论(0) 推荐(0) 编辑
摘要:见题:E - Digit Sum Divisible (atcoder.jp) P4127 [AHOI2009] 同类分布 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 考虑数位动规,设方程 dp[i][j][k][l] 为状态:i:搜到了第 i 位(倒着枚举,也就是 阅读全文 »
posted @ 2024-05-26 11:32 o-Sakurajimamai-o 阅读(13) 评论(0) 推荐(0) 编辑
摘要:如何判断某个位置是不是LIS或者反LIS的数? 笔者是在前几天的abc354这一场的f题发现的,最长上升子序列很显然,我们在求的过程中,设 dp[i] 为以i位置结尾的最长上升序列的长度,然后求一边所有的最长长度即可,那么对于这种定义,我们考虑一个反定义,即:dp2[j] 为以j位置 阅读全文 »
posted @ 2024-05-20 08:29 o-Sakurajimamai-o 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Coloring Brackets 一道区间DP好题 一开始以为有多种不同的括号匹配次序而导致自己一头大雾wuw,首先看到括号匹配就要想到用栈来求出每个括号对应的匹配项,对于一个区间来说,其左括号一定是具有与之对应的右括号存在时染色才有意义,所以我们要求出每个括号对应的位置should[i] 阅读全文 »
posted @ 2024-05-18 14:24 o-Sakurajimamai-o 阅读(14) 评论(0) 推荐(0) 编辑
摘要:先把例题模在这里,之后更新 P1272 重建道路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P2014 [CTSC1997] 选课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.co 阅读全文 »
posted @ 2024-05-17 16:07 o-Sakurajimamai-o 阅读(8) 评论(0) 推荐(0) 编辑
摘要:P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 屮,一开始想当然的以为剪掉了其中一个边,其子树部分全部都会脱落,没想到剪掉一个边紧紧只是剪掉一个边,子树不会消失 很明显的,我们要考虑树形dp,因为剪掉哪条边是不确定的,那么暴力求的话,每条边都剪或不剪,时 阅读全文 »
posted @ 2024-05-10 16:09 o-Sakurajimamai-o 阅读(3) 评论(0) 推荐(0) 编辑
摘要:以为自己一辈子接触不到的算法,本来以为很高深,没想到是优雅的暴力,太绝妙了 对于多个区间查询,例如区间最大值等,我们考虑暴力,枚举区间 [L,R],取最大值即可,时间复杂度 O(m(RL)),跑不起,所以我们借用数据结构,单调队列,树状数组等等,但是如果此时我们考虑优化暴露 首先我们这样 阅读全文 »
posted @ 2024-03-27 12:01 o-Sakurajimamai-o 阅读(11) 评论(0) 推荐(0) 编辑
摘要:首先是单调队列: 其实单调队列就是一种队列内的元素有单调性(单调递增或者单调递减)的队列,答案(也就是最优解)就存在队首,而队尾则是最后进队的元素。因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的。 类似于滑动窗口等,单调队列具有时序性的储存区间最大值或 阅读全文 »
posted @ 2024-02-06 16:36 o-Sakurajimamai-o 阅读(16) 评论(0) 推荐(0) 编辑
摘要:区间DP具有两种形式的模板 这里以P1775 石子合并(弱化版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)为例 第一种是枚举区间长度然后进行动态规划: 枚举合并的区间然后进行递推: #include<bits/stdc++.h> using namespace std; co 阅读全文 »
posted @ 2024-01-28 07:35 o-Sakurajimamai-o 阅读(2) 评论(0) 推荐(0) 编辑
摘要:主要是在棋盘上的DP,棋盘上每个点的转移状态基本上都是已知的 //https://www.luogu.com.cn/problem/P1896 //压状dp //由于时间复杂度达到了指数级复杂度,所以搜索不能进行 //考虑动态规划,dp i,j,k表示 第i行,使用了j个国王,此时的状态是k // 阅读全文 »
posted @ 2023-11-14 10:07 o-Sakurajimamai-o 阅读(16) 评论(0) 推荐(0) 编辑
摘要:【动态规划】滚动数组的求解(C++) - 林、Zephyr - 博客园 (cnblogs.com) 【精选】滚动数组(简单说明)_儒rs的博客-CSDN博客 //https://www.luogu.com.cn/problem/P2679 /* # 定义状态 # 对于任意一个 0 <= i <= n 阅读全文 »
posted @ 2023-11-12 15:21 o-Sakurajimamai-o 阅读(27) 评论(0) 推荐(0) 编辑
摘要://http://ybt.ssoier.cn:8088/problem_show.php?pid=1302 #include<bits/stdc++.h> using namespace std; const int N=2e5+10; int dp[N][3][3],n,w[N],t; int m 阅读全文 »
posted @ 2023-11-11 13:16 o-Sakurajimamai-o 阅读(12) 评论(0) 推荐(0) 编辑
摘要:预计时间一个月,一天的量为1-2道左右,难度不均,黄-紫都有,后阶段紫 // https://www.luogu.com.cn/problem/P4141 // 对于任何一个物品对答案的贡献都是从1到n递推过去的,所以 // 只需要开一个相同的数组然后从头遍历一遍,把该物品对答案的贡献减去就可以了 阅读全文 »
posted @ 2023-10-26 14:51 o-Sakurajimamai-o 阅读(19) 评论(0) 推荐(0) 编辑
摘要:状态压缩也就是把多个状态都转译成一个状态,由于题目的题意就是需要一步一步递推也就是dp,但是常规的dp只能计算一个状态,无法满足多个状态,所以可以使用状态压缩. 将这多个状态划分为二进制形式:设有m个状态,那么所有的可能状态为 2m ,如果有4个状态,0010 表示只满足了第二个状态, 阅读全文 »
posted @ 2023-09-02 17:36 o-Sakurajimamai-o 阅读(50) 评论(0) 推荐(0) 编辑
摘要:# [蓝桥杯 2022 省 B] 李白打酒加强版 ## 题目描述 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗。他边走边唱: > 无事街上走,提壶去打酒。 > 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店 N 次,遇到花 M 次。已知最 阅读全文 »
posted @ 2023-07-30 23:27 o-Sakurajimamai-o 阅读(105) 评论(0) 推荐(0) 编辑
摘要:弱化版:黑虎阿福: 题目描述 阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。 这条街上一共有 NNN 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。 作为一向谨慎作案的大盗,阿福不愿意冒着被 阅读全文 »
posted @ 2023-06-17 18:29 o-Sakurajimamai-o 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目描述 阿福最近对回文串产生了非常浓厚的兴趣。 如果一个字符串从左往右看和从右往左看完全相同的话,那么就认为这个串是一个回文串。例如,abcaacba 是一个回文串,abcaaba 则不是一个回文串。 阿福现在强迫症发作,看到什么字符串都想要把它变成回文的。阿福可以通过切割字符串,使得切割完之后得 阅读全文 »
posted @ 2023-06-10 09:58 o-Sakurajimamai-o 阅读(29) 评论(0) 推荐(0) 编辑

-- --
点击右上角即可分享
微信分享提示