摘要: P5569 [SDOI2008] 石子合并 这题就是P1775石子合并的数据加强版,我们那题采用的是区间DP,时间复杂度为O(n3) (4*1e4)的三次方=1.6*1e13,显然超时。这里就必须用一个算法,叫做GarsiaWachs算法,可以降低时间复杂度至n2甚至nlogn. GarsiaWac 阅读全文
posted @ 2022-04-17 16:53 朱朱成 阅读(56) 评论(0) 推荐(0) 编辑
摘要: P1880[NOI1995] 石子合并 相较于P1775 石子合并(弱化版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn),洛谷P1775,这题就是变成了环形石子,我们可以用把环形拉成链,n->2n,这样从1->n的每一个为元素起点,长度为n,得到的序列,就是环形的每一个元素为起 阅读全文
posted @ 2022-04-17 16:34 朱朱成 阅读(55) 评论(0) 推荐(0) 编辑
摘要: P1775石子合并(弱化版) 题目: 分析一下: 这是一题最经典的区间DP,也是我学习区间DP的第一题。做题思路是构建DP数组dp[i][j],i、j分别代表区间的左右端点,思考状态转移方程,对于一个区间dp[i][j],(注意这里的区间并没有大小关系,只是从这一排石头上截取一部分的意思),把这个区 阅读全文
posted @ 2022-04-17 16:26 朱朱成 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1438.绝对差不超过限制的最长连续子数组 题目大意就是求最大连续的区间,使最大值减最小值小于等于limit. 数据范围: 一、Binary Tree 考虑枚举每一个区间,记录每一段长度并且更新ans,每一段长度里面都得满足max-miin<=limit,不满足就把删掉区间的左端点值,直到满足。外层 阅读全文
posted @ 2022-04-17 10:49 朱朱成 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1425.带限制的子序列和 意思就是寻找最大子区间和,子区间的每一个相邻元素可以下表最多相差k. 一、 想到求最大连续子区间和O(n)的方法,但是这题显然状态转移方程并不是dp[i]=max(dp[i-1],0)+a[i],他可以跳过最多k-1个元素 所以里面应该嵌套一层循环 for(int j=1 阅读全文
posted @ 2022-04-17 10:17 朱朱成 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 950.按递增顺序显示卡牌 思路是,反过来想,我们只知道最后输出的结果,是本来序列的递增形式,要求解出这个这种牌组顺序。可以定义一个表示下标队列deque<int>num,外层一层循环表示排序后的序列deck数组逐一遍历,则ans[num.front]=deck[1],ans中第一个出队的一定是最小 阅读全文
posted @ 2022-04-17 09:35 朱朱成 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 232.用栈实现队列 一、一开始没想到好的做法,就用了三个栈去做到输入输出 代码: 1 class MyQueue { 2 public: 3 stack<int>a; 4 MyQueue() { 5 6 } 7 8 void push(int x) { 9 a.push(x); 10 11 } 1 阅读全文
posted @ 2022-04-17 08:51 朱朱成 阅读(16) 评论(0) 推荐(0) 编辑
摘要: C. Constanze's Machine 传送门:Problem - 1245C - Codeforces 题目: 题目大意:就是一个字符串,m 会变成nn w会变成uu 问一个字符串有原来有几种可能。显然如果出现m 或者 w直接输出0 不可能,否则可以用数学归纳法: n:1种 nn:2种 nn 阅读全文
posted @ 2022-04-15 09:23 朱朱成 阅读(37) 评论(0) 推荐(0) 编辑
摘要: C. Increase Subarray Sums 传送门:Problem - 1644C - Codeforces 题目大意就是:给你一个序列,算出序列和为sum,求是否有连续区间和大于等于sum,有就输出NO,否则YES,并且连续区间不能是[1,n],也就是整个序列,我的思路就是构建两个DP数组 阅读全文
posted @ 2022-04-15 09:13 朱朱成 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Educational Codeforces Round 123 (Rated for Div. 2) C. Increase Subarray Sums 传送门:Problem - C - Codeforces 题目大意就是:给你一个数组a,长度为n,再给你一个数为k,定义ans数组,求ans[i 阅读全文
posted @ 2022-04-14 10:48 朱朱成 阅读(64) 评论(0) 推荐(0) 编辑