题目链接 给定一个大小为n≤106n≤106的数组。 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。 您只能在窗口中看到k个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子: 该数组为[1 3 -1 -3 5 3 6 7],k为3。 您的任务是确定滑动窗口位于每个位置时,窗口中的最大 ...
分类:
其他好文 时间:
2019-08-19 21:10:11
阅读次数:
69
心得: T1比较水,set水过,之前的有个达哥的等比数列的题,考场上忘了那道题怎么做了,虽然也做出来了 T2思路很好想,但分数十分玄学,(不考虑细节+数据很水+代码很菜=50分玄学分数) T3很显然的dp,看着像一个单调队列,但也不怎么会,线段树学习一下其他人的打法 题解 T1 一个贪心,对于每个数 ...
分类:
其他好文 时间:
2019-08-19 17:37:25
阅读次数:
91
"传送门" 写在前面:为了保护正睿题目版权,这里不放题面,只写题解。 “正睿从来没有保证,模拟赛的题目必须原创。” “文案不是我写的,有问题找喵老师去。”——蔡老师 A ~~R爷再次翻车,搞出来了一道六年前的CF题。~~ $100pts:$ 然而不是原题也很简单,斜率优化板子,单调队列搞一下就完事了 ...
分类:
其他好文 时间:
2019-08-19 09:44:47
阅读次数:
60
Description 详见OJ Solution 第一眼看上去好像斜率$DP$,但仔细一看发现不能用单调队列维护。 然后$GG$。 正解使用单调栈来维护。 我们发现,我们维护的单调栈$g[]$的$a[]$是呈单调不下降的。 对于新加入的点i,我们需要将单调栈中$a[]$大于$a[i]$的弹出栈中, ...
分类:
其他好文 时间:
2019-08-17 18:22:06
阅读次数:
108
Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌 图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 举例来说,上面的第一个例子是一张仙人图,而第二个不是——注意到它有三条简单回路:(4,3, ...
分类:
其他好文 时间:
2019-08-17 10:52:26
阅读次数:
84
标签(空格分隔): dp 单调队列优化 题目描述 有N块木板从左到右排成一行,有M个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第 i 个木匠要么不粉刷,要么粉刷包含木板 $S_i$ 的,长度不超过 $ L_i $ 的连续的一段木板,每粉刷一块可以得到 $ P_i $ 的报酬。 不同工匠的$S ...
题目:https://vjudge.net/contest/319166#problem/A 题意:有一个01矩阵,求一个最大子矩阵面积,这个矩阵要求里面都是01间隔,没有0或1连续 思路:这个题其实也就是求一个最大面积,复杂度只可以n^2,这个我们就可以想到是高楼问题,这个题唯一特殊的地方就是必须 ...
分类:
其他好文 时间:
2019-08-11 21:16:20
阅读次数:
101
一、线性 1.简单示例 (1)LIS问题 (2)LCS问题 (3)数字三角形 二、背包 1.0/1背包 2.完全背包 3.多重背包(二进制拆分) 4.分组背包 三、区间 四、树形 1.背包类 2.二次扫描与换根法 五、环形与后效性处理 六、状态压缩 七、倍增优化 八、数据结构优化 九、单调队列优化 ...
分类:
其他好文 时间:
2019-08-11 17:00:57
阅读次数:
107
输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大。 输入格式 第一行输入两个整数n,m。 第二行输入n个数,代表长度为n的整数序列。 同一行数之间用空格隔开。 输出格式 输出一个整数,代表该序列的最大子序和。 数据范围 1≤n,m≤3000001≤n,m≤ ...
"思路" 这里只是贴一下 JZOJ4224.食物 的代码,挺有意思的水题,虽然一眼就看得出来两个多重背包,但是比较有意思的一个地方是在处理交通工具时为了求出答案,把价格当做体积,把最大装载量当做价值。一切思路还是为了答案服务,这是值得记住的。 c++ include include include ...
分类:
其他好文 时间:
2019-08-11 10:49:35
阅读次数:
83