魔改一下nlogn求最长不下降子序列的模板就行 对于不能修改的位置 他们肯定是存在答案里面的 那么维护答案序列最后的不可修改位置 设为las 如果新加入的数的位置小于等于las 则跳过 否则 维护las 并且把las以后的序列清空 #include<bits/stdc++.h> using name ...
分类:
其他好文 时间:
2020-10-30 12:51:14
阅读次数:
20
E. Make It Increasing Educational Codeforces Round 97 (Rated for Div. 2) 题目连接 题解: 因为b[i]的值是确定,所以知道操作 b[i] 到b[i - 1]的区间, 当 \(a[i] - a[j] < i - j (i > j ...
分类:
其他好文 时间:
2020-10-29 10:45:29
阅读次数:
39
题目描述 给定n,k和一个长度为n的序列,求最长的最大值最小值相差不超过k的序列 输入格式 第一行两个有空格隔开的整数k(0<=k<=2000,000,000),n(1<=n<=3000,000),k代表设定的最大值,n代表序列的长度。第二行为n个由空格隔开的整数ai(1<=ai<=2000,000 ...
分类:
其他好文 时间:
2020-10-18 10:05:13
阅读次数:
18
题目链接:https://codeforces.com/problemset/problem/1426/F 题意:给你长度为n的字符串,其中有‘a’,'b','c','?'。其中'?'可以转变为a,b,c任意一个,问形成abc的子序列的最多数量。 思路:设dp[i][1]表示前i个字符a的个数,dp ...
分类:
其他好文 时间:
2020-10-10 16:53:05
阅读次数:
22
思路参考:最长公共子序列 public class Solution { /** * longest common substring * @param str1 string字符串 the string * @param str2 string字符串 the string * @return st ...
分类:
其他好文 时间:
2020-10-08 18:32:02
阅读次数:
18
最大子矩阵 1,借助最大连续子序列和来取得最大子矩阵 def MaxSubArray(nums): n = len(nums) dp = [] dp.append(nums[0]) mymax = dp[0] startidx = 0 endidx = 0 for i in range(1, n): ...
分类:
其他好文 时间:
2020-09-18 17:15:02
阅读次数:
29
C语言代码: int MaxSubsequenceSum(const int A[], int N) { int ThisSum, MaxSum, j; ThisSum = MaxSum = 0; for (j = 0; j < N; j++) { ThisSum += A[j]; if (This ...
分类:
编程语言 时间:
2020-09-17 22:25:39
阅读次数:
39
动态规划是一个很好用的算法,同时也是令很多人头疼的算法,下面就介绍一下对动态规划的看法。 通过学习和刷题我们可以发现动态规划一般是用于求一些最值问题,比如说最长递增子序列等等,我们要想知道一个问题的最值,就要知道问题的所有答案然后通过比较得出答案,也就说我们平常所说的穷举;当然肯定不是暴力的穷举,对 ...
分类:
其他好文 时间:
2020-09-17 15:46:07
阅读次数:
23
问题 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 代码 贪心算法 核心思想就是检查之前 i-1 的元素和,如果小于零就舍弃——对应下面第六行代码 1 class Solution { 2 public: 3 int maxSubArray( ...
分类:
其他好文 时间:
2020-09-17 14:20:44
阅读次数:
24
这道题有亿点难QAQ,虽然蒟蒻我已经做完了,不过我想待我完全理解本题以后再写题解,所以先占个坑QwQ,先把代码贴上。 ...
分类:
其他好文 时间:
2020-09-17 13:40:27
阅读次数:
27