随笔分类 - 2020_7_16
暑假集训
摘要:题目描述 Crusaders Quest is an interesting mobile game. A mysterious witch has brought great darkness to the game world, and the only hope for your kingdo
阅读全文
摘要:题目描述 Farmer John has devised a brilliant method to paint the long fence next to his barn (think of the fence as a one-dimensional number line). He sim
阅读全文
摘要:状态表示: dp[l][r]合并l->r区间的最小代价 状态计算: 假设有这个一个k, l ⇐ k < r ,使得dp[l][r]最小, 那么dp[l][r]就等于合并l->k, k+1 > r这两堆 dp[l][r] = dp[l][k] + dp[k + 1][r] + s[r] - s[l -
阅读全文
摘要:自己写出来还是很有成就感的😆~ 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros
阅读全文
摘要:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的
阅读全文
摘要:矩阵区域和 给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和: i - k ⇐ r ⇐ i + k, j - k ⇐ c ⇐ j + k 且 (r, c) 在矩阵内。 示例
阅读全文
摘要:给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3 输出:5 示例 2: 输入:n = 1 输出:1 提示: 1 ⇐ n ⇐ 19 class Solution { public: int
阅读全文
摘要:解码方法 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' → 1 'B' → 2 ... 'Z' → 26 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 (1 1 10 6
阅读全文
摘要:算法一:动态规划法 dp[i]表示当前位置能接多少单位的水 dp[i]的存水量是i最左边和最高高度lmax和最右边的最高的高度lmax中的相对低的一个的高度再减去当前i的高度 所以使用一个lmax数组和rmax数组来预处理i左边的最大高度和右边的最大高度 class Solution { publi
阅读全文
摘要:题目描述 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: prices =
阅读全文
摘要:题目描述 现有一块大奶酪,它的高度为 h ,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中,奶酪的下表面为 z = 0 ,奶酪的上表面为 z = h 。 现在,奶酪的下表面有一只小老鼠 Jerry ,它知道奶酪中所有空洞的球心所
阅读全文
摘要:将来的你,一定会感谢现在奋斗的自己! 问题 I: 货币系统 时间限制: 1 Sec 内存限制: 128 MB 题目描述 在网友的国度中共有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为n、面额数组为a[1..n]的货币系统记作(n,a)。
阅读全文
摘要:#include<vector> #include<algorithm> #include<iostream> #include<cstring> using namespace std; const int N = 6e5 + 10; int cnt = 1; int e[N]; int main
阅读全文
摘要:f[i]以a[i]结尾的最大的子序列的和 状态转移方程: fmax = max(fmax[i - 1] * a[i], max(a[i], fmin[i - 1] * a[i])); fmin = min(fmin[i - 1] * a[i], min(a[i], fmax[i - 1] * a[i
阅读全文
摘要:差分就是将数列中的每一项分别与前一项数做差,例如: 一个序列1 2 5 4 7 3,差分后得到1 1 3 -1 3 -4 -3 这里注意得到的差分序列第一个数和原来的第一个数一样(相当于第一个数减0) 差分序列最后比原序列多一个数(相当于0减最后一个数) 性质: 1、差分序列求前缀和可得原序列 2、
阅读全文
摘要:另类打家劫舍问题: 选择第i个数, 那么i+1, 和i-1都不可以选 对nums数列进行木桶排序, dp[i]= max(dp[i - 2] + cnt[i] * i, dp[i - 1]) //选择上两个数, 那么这个数就可以选, 选择上一个数, 那么这个数就不能选了 const int N =
阅读全文
摘要:原理: 参考网页 维护一个差分序列, 这样可以快速对一个区间[l, r]整体加上或减去一个整数 如何维护? 初始的数组a[n], 建立一个差分数组s[n], 使其s[i] = a[i] - a[i - 1] 对区间[l, r]加上一个整数x, 对差分数组s[l], s[r + 1]加上一个整数x,就
阅读全文
摘要:有k次机会让图中边权值为0, 第一种方法: 建图的时候建立k+1层图, 走了权值为0的边就表示用掉了一次机会, 最后在n, n + n, ...k + n中取最小值 原图链接 #include<iostream> #include<queue> #include<algorithm> #includ
阅读全文
摘要:题目描述 Given is an N×N matrix C whose elements are non-negative integers. Determine whether there is a pair of sequences of non-negative integers A1,A2,
阅读全文
摘要:题目描述 N students took a test with M questions with two choices: 0 and 1. You are given N strings of length M each: S1,S2,…,SN. The k-th character of Si
阅读全文

浙公网安备 33010602011771号