随笔分类 - 数据结构 -- 单调队列
摘要:Contest Info 传送门 Solved A B C D E F G H I J K L 5 / 12 - - - O Ø Ø - - Ø - Ø - O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions D. Distinct Sub-palindromes
阅读全文
摘要:Contest Info 传送门 Solved A B C D E F G H I J K 11 / 11 Ø Ø O O Ø O Ø Ø Ø O Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. All with Pairs 题意: 定义$f(s,t
阅读全文
摘要:"传送门" A. Two Rabbits 签到。 Code B. Longest Palindrome 用$map$乱搞即可。 Code C. Air Conditioner 贪心。 每次我们找能够走到的一个区间,然后和能使客人满意的区间取交集,若交集不为空,则能够满足当前客人。 之后类似这样操作就
阅读全文
摘要:"传送门" A Problem A. Ascending Rating 题意: 对于所有长度为$k$的区间,分别需要求出区间最大值以及更新得到区间最大值的次数。 思路: 一开始正着考虑,写了个并查集,想着卡卡常数可以过,结果直接T飞。。。 当时想难点就是随着区间的移动,每次都会删去区间左端点的点然后
阅读全文
摘要:2019牛客多校第三场题解 "题目链接" B.Crazy Binary String 子序列维护前缀和即可,子串答案$2 min(0,1)$的个数。 Code cpp include using namespace std; typedef long long ll; const int N = 1
阅读全文
摘要:洛谷P2216 理想的正方形 "题目链接" 思路: 直接暴力显然不可行,可以发现每一个矩形向右边扩展时是一列一列增加,于是可以想到单调队列,用数组来维护当前每列的最大值。因为行也有限制,所以还要用一个单调队列来维护行的信息。 做法大概就是每次扩展一行,然后求出每一列当前的最大值,之后再一列一列来搞。
阅读全文