单调队列
⊱⋛赫宇⋚⊰
这个作者很懒,什么都没留下…
展开
-
Tower of Hay
题目 思路 贪心 相信很多人看到此题会想到贪心:让高层尽可能的小,从后往前倒叙贪心。 方面起见,我们倒叙读入,从前向后贪心使每段尽可能的小。 但是,对于每一层,我们可以有两种的方法,一个是向上,一个是巩固地基,所以不能用贪心来实现,但是我们还是得到了一个结论 底层最小的方案 一定可以 构造出最高的层数。 普通dp 所以我们就看可以先造一个dp来解决,因为题目说是要按照从下面到上面要递减,我们这样是没办法进行dp转移的,那我们不妨把它给倒过来,然后写用前缀和求出大小。并且用两个数组来转移。一个是dp[i]表示原创 2020-10-24 22:14:31 · 161 阅读 · 0 评论 -
好消息 OR 坏消息
题目 1.我们可以先考虑暴力的做法,首先断环成列,然后一个个判断求前缀和,再一个个判断是不是都>=0,复杂度O(n^2) 2.单调队列维护最小的前缀和,,对于每一个k+n-1,我们用单调队列维护k–k+n-1的最小值,并将其减去s[k-1]判断是否合法。如果最小的都已经合法,那么就肯定合法 #include<bits/stdc++.h> #define maxn 2000010 using namespace std; int n,m; long long a[maxn],q[maxn],原创 2020-10-24 21:59:35 · 861 阅读 · 0 评论