dp刷题
文章平均质量分 51
YikNjy
难留少年时,总有少年来。
展开
-
线性dp(拆分篇)
acwing 900 整数拆分 acwing 278 数字组合 acwing 279 自然数拆分 acwing 3428 放苹果 acwing 1050 鸣人的影分身 前三题总结看这里 注:数可以看作一些物品(在下说明中) 这些题目的特征就是将一堆数量为N的物品拆分成几堆数量不同的物品,在线性dp中大多数都是用物品去填背包的,所以拆分数稍微会难想一些,一般类似于数的拆分或者是分物品的题目可以划分为线性拆分类这种题目的类型与区间dp还是有些不同的,不知道为什么数的...原创 2022-06-29 15:24:52 · 221 阅读 · 0 评论 -
Codeforces Round #790 (Div. 4)A-H2
Codeforces Round #790 (Div. 4) 比赛网址 难度 div4 适合刚学不久的算法小白来写,博主备战区域赛所以也在练手速 A .Lucky? 题目意思: 给你 t 个六位数,如果前三位数字之和等于后三位数字之和,输出YES,否则输出NO。 题解: 开俩个变量记录前三位以及后三位的数字之和就可以了。 ac代码如下: // // Created by YikN on 2022/5/12. // #include<bits/stdc++.h> using namespace原创 2022-05-12 13:45:02 · 695 阅读 · 2 评论 -
Codeforces round #789(div2)
b2 题目自己看 题解 : 有贪心和dp两种思路 贪心的意思就是就近原则能变的区间尽量与旁边的区间保持一致 dp的思想就是以为两个数为一个小区间变或者是不变 f[] #include<iostream> #include<cstring> #include<algorithm> #include<unordered_map> #include<cstring> using namespace std; const int N = 2 * 1e5原创 2022-05-09 17:48:34 · 301 阅读 · 0 评论 -
AcWing 4418. 选元素
给定一个长度为 n 的整数序列 a1,a2,…,an。 请你从中挑选 x 个元素,要求: 原序列中的每一个长度为 k 的连续子序列都至少包含一个被选中的元素。 满足条件 1 的前提下,所选 x 个元素的相加之和应尽可能大。 输出最大可能和。 输入格式 第一行包含三个整数 n,k,x。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 如果无法满足题目要求,则输出 −1。 否则,输出一个整数,表示所选元素的最大可能和。 数据范围 前三个测试点满足 1≤k,x≤n≤6。 所有测试点满足 1≤k,x≤n≤原创 2022-05-08 10:30:38 · 179 阅读 · 0 评论 -
acwing55. 连续子数组的最大和
dp刷题 输入一个 非空 整型数组,数组里的数可能为正,也可能为负。 数组中一个或连续的多个整数组成一个子数组。 求所有子数组的和的最大值。 要求时间复杂度为 O(n)。 数据范围 数组长度 [1,1000]。 样例 输入:[1, -2, 3, 10, -4, 7, 2, -5] 输出:18 class Solution { public: int maxSubArray(vector<int>& nums) { int dp[1010]; dp[0]=num原创 2022-05-05 20:04:34 · 132 阅读 · 0 评论