随笔分类 -  DP

摘要:题目描述 简要描述:给定一个长度为 N 的数组,求数组的子数组满足最大值为 X 且最小值为 Y 的子区间的个数。 做法 1. ST表 + 二分 时间复杂度: O(nlogn) 对于每个位置,二分出以它为左端点最大值为 X 的最远和最近的位置,以及以它为左端点最小值为 Y 阅读全文
posted @ 2022-10-27 22:50 ccz9729 阅读(47) 评论(0) 推荐(0) 编辑
摘要:UVA1650 数字串 Number String题意翻译: 对于任意一个长度为 n 的排列 P,比较数字串中所有相邻数字的大小,后者大于前者的用 I 表示,否则用 D 表示。例如数字串 3,1,2,7,4,6,5 表示为 DIIDID? 表示两个相邻的数字的关系未知。 现给出数字串的关系,求出所有合法的数字串的 阅读全文
posted @ 2022-09-28 23:00 ccz9729 阅读(35) 评论(0) 推荐(0) 编辑
摘要:Sorting Pancakes 题面翻译 题意简述 有 n 个箱子和 m 个小球,初始时第 i 个箱子有 ai 个小球。每次操作可以将一个小球移到相邻的箱子里。求要使得最终数组 aiai+1 的最小操作次数。 输入格式 第一行两个正整数 n,m。 第二行 阅读全文
posted @ 2022-09-12 14:30 ccz9729 阅读(41) 评论(0) 推荐(0) 编辑
摘要:Freezing 牛客小白月赛53F 首先有一个朴素的 DP , dp[i][j] 表示前 i 个人中,且最后一个人的状态是 j 的方案数,然后暴力转移即可,复杂度 O(n×2m) 无法通过本题。 有一个不能通过本题的优化是,我们可以通过枚举 ~j 的子集,来进行状态 阅读全文
posted @ 2022-09-08 17:16 ccz9729 阅读(167) 评论(0) 推荐(0) 编辑
摘要:小沙的签到题 题目link 题目描述 给定一段长度为 n(n2×105) 的序列 a(ai999999),求序列中有多少对数相加不会产生 10 进制的进位。 第一种做法是六维前缀和,考虑 s[bit1][bit2][bit3][bit4][bit5] 阅读全文
posted @ 2022-09-08 16:46 ccz9729 阅读(27) 评论(0) 推荐(0) 编辑
摘要:SOLUTION 暴力做的话有一个 n×kDP,dp[i][j] 表示只在前 i 个数字中删除, 删除了 j 个数字的最大 cnt,当前面删除了 k 个之后,后面的数字是固定的,需要统计一下再 i 后面有多少个位置符合 i - k == a[i] ,此 阅读全文
posted @ 2022-09-05 21:39 ccz9729 阅读(20) 评论(0) 推荐(0) 编辑
摘要:找爸爸 题目描述 小A最近一直在找自己的爸爸,用什么办法呢,就是DNA比对。 小A有一套自己的DNA序列比较方法,其最终目标是最大化两个DNA序列的相似程度,具体步骤如下: 给出两个DNA序列,第一个长度为n,第二个长度为m。 在两个序列的任意位置插入任意多的空格,使得两个字符串长度相同 逐 阅读全文
posted @ 2022-06-25 17:26 ccz9729 阅读(30) 评论(0) 推荐(0) 编辑
摘要:一个很容易看出的 DP,不过需要优化一下状态转移过程 前缀和优化 复杂度 O(nm) // Problem: E - Distance Sequence // Contest: AtCoder - NOMURA Programming Contest 2022(AtCoder 阅读全文
posted @ 2022-06-10 17:14 ccz9729 阅读(76) 评论(0) 推荐(0) 编辑
摘要:传送门 题意简述: 你可以佩戴 n 个武器 以及 最多 1 个饰品, 你拥有 m 个武器进行选择, 每个武器有三个属性,重量、伤害以及武器的蓄力时间。你只能进行一次攻击,求出你可以杀死 一个 100 血量 的 boss 的最小花费时间,如果无论如何也杀不死,输 阅读全文
posted @ 2022-06-09 23:12 ccz9729 阅读(68) 评论(0) 推荐(0) 编辑
摘要:原题链接 思路 由于 k 的范围只有 8, 很容易想到这题要用一个暴力的方法,我们可以用 状压dp 来解决这个问题。 令 f[i][j] 为 当前车票的可选即可为 i ,并且 当前的位置是 j 的最小花费,然后进行状态转移即可 SOLUTION #includ 阅读全文
posted @ 2022-05-03 15:04 ccz9729 阅读(32) 评论(0) 推荐(1) 编辑
摘要:题目链接 题目-最长等差数列 (51nod.com) 本题 很容易 得出一个 n2logn 的解法,令 dp[i][j] 表示以 i 结尾,公差为 j 的最长等差数列的长度,由于公差太大,因此我们需要用到 map ,即 用 \(map<in 阅读全文
posted @ 2022-04-29 14:45 ccz9729 阅读(222) 评论(0) 推荐(1) 编辑
摘要:传送门 题目描述 把一个长度为 N 的数组 A, 分为几个连续的子序列 B1,B2,...,Bk,有 2N1 种划分方式 先给出数组 A 求出所有划分方式的价值之和,并对 998244353 取模. 对于一种划分方式 \(B_1, 阅读全文
posted @ 2022-03-16 19:43 ccz9729 阅读(58) 评论(0) 推荐(1) 编辑
摘要:题目链接 F.Group Projects 题意 把 n 个物品分成若干组,每个组的代价为组内价值的极差,求所有组的代价之和不超过 k 的方案数。 考虑 DP, f[i][j][k] 表示考虑到第 i 个物品的时候,还有 j 组尚未分配完毕,当前状态总代价为 阅读全文
posted @ 2022-03-01 20:46 ccz9729 阅读(58) 评论(0) 推荐(0) 编辑
摘要:跳转链接 题目大意 题目中要求的是从1号点到n号点所需要的最短时间, 一秒可以走 2k 个距离 给定的有向图的边边权都是1. 问题分析 由于一秒可以走 2k 个距离,因此题目转化为寻找两个点之间的距离为2k的点对,并把边权(代表时间)赋值为1, 由于给定边权(指路径长度)都是 阅读全文
posted @ 2021-09-18 10:57 ccz9729 阅读(25) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示
主题色彩