# 题意长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大 # 题解区间和问题,转化为两个前缀和相减的形式进行求解。枚举右端点贪心法求解,只需要对下标和前缀应用单调队列,在队列中下标位置递增,前缀和s也递增,假如右端点r固定,找到一个左端点ll,要求j∈[i?m,i ...
分类:
其他好文 时间:
2020-03-15 09:30:35
阅读次数:
52
# 题意n件商品,每个商品有利润p[ i ]和过期时间d[ i ],每天只能卖一件商品,合理安排每天卖的商品,求最大收益 # 题解贪心做法,将所有商品按照过期时间的大小排序,从小到大依次将商品加入小根堆(p为键值)加入p[i]时:1.如果p[i]的时间大于堆中元素的个数,则放入堆2.如果当前时间等于 ...
分类:
其他好文 时间:
2020-03-15 09:27:14
阅读次数:
128
题目:https://vjudge.net/problem/Gym-101911A 题意:n、m、d分别表示Mo想休息的次数、每天最大的工作时长以及两次休息的最小间隔,ai为Mo想休息的时刻,每次休息一分钟,求休息n次所需的最少天数,以及按所给顺序每个时刻所在的天的下标。 分析:贪心。定义一个结构体 ...
分类:
其他好文 时间:
2020-03-14 21:43:21
阅读次数:
51
给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n ...
分类:
其他好文 时间:
2020-03-14 20:11:37
阅读次数:
57
"题目" 题意:删除重复的字符,得到字典序最小的结果字符串 题解:贪心,咱们从结果字符串的左边开始,左边第一个字符在原字符串中的右边一定有n 1个不同的字符,这里n就是结果字符串的长度。 所以我们每次遍历数组,找到右边有n 1个不同字符的字符,并选择最小的那个。 由于最多26个字母,最多遍历26次, ...
分类:
其他好文 时间:
2020-03-13 20:22:01
阅读次数:
47
"原题链接" 首先如果不考虑数据范围,珂以想到一个贪心:每一次询问的$u,v$,设它们的最近公共祖先为$lca$,若当前的$u,v$有一条$u\rightarrow v$的路径,就直接按这个路径跑;否则尽量往$lca$上跑。如果跑不动了,而且也没有$u\rightarrow v$的路径,就不能到达。 ...
分类:
其他好文 时间:
2020-03-12 23:48:46
阅读次数:
116
一、一般使用场景 常用于多阶段决策问题 最优解问题 区别于贪心算法只考虑眼前的局部利益 动态规定求解的是整体的最优值 如:求A到B的最短路径 A出发可达 A1 A2 A3 A1 出发可达 B1 B2 A2 出发可达 B2 B3 .... 二、特点 最优子结构 : 最优解的问题可以由子问题的最优解转换 ...
分类:
其他好文 时间:
2020-03-11 20:58:37
阅读次数:
61
《算法导论(原书第2版)》一书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法 ...
分类:
编程语言 时间:
2020-03-10 22:14:23
阅读次数:
69
今天似乎格外的简单呢。 T1 我们最喜欢的$dp$。 每次$dp$出剩下$i$个人的情况下对答案期望的贡献。 这样贪心的拿到最多的贡献就行了。 然后这个物品就要去掉一个人的贡献 用一种比较巧妙的$dp$来统计就可以了。 T2 可怜的变元矩阵树定理。 暴力插值就行了。 值得一提的是脸哥写的那种$dp$ ...
分类:
其他好文 时间:
2020-03-10 21:42:20
阅读次数:
46
基本思想: 无; 关键点: 无; #include<iostream> #include<string> #include<vector> using namespace std; double p1 = 5; double p2 = 3; double p3 = 1.0 / 3; void cha ...
分类:
其他好文 时间:
2020-03-10 12:06:47
阅读次数:
69