摘要: 思维题。 以地板为序构造链表,再排序,然后删除走不过去的地面。 删除的时候顺便维护最大的跨度,以此判断可行性。 总的来说利用了答案的单调性。 cpp include include include include using namespace std; const int MAXN = 1e5 + 阅读全文
posted @ 2018-08-07 22:34 俺是小程 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 思维僵化,一直觉得平均值只能二分维护。 看到这个题突然想到,直接前缀和也可以维护啊! 对于这道题来说,求出后缀和以后扫一遍,搞到最大平均值。 然后再从头扫一遍,输出与最大平均值相同的位置。 cpp include include include include include using names 阅读全文
posted @ 2018-08-07 21:16 俺是小程 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 这题真是恶心,很久没有一道题搞大半天了。 这个题稍微分析一下,首先发现日期的乱序根本就是出题人闲得无聊,排序一下搞定。 然后,不难看出我们肯定需要维护牛的产奶量的最大值,这个倒是有很多方法搞,可以用平衡树或者离散化 + 线段树什么的。 可是这是不够的。只维护某一天的最大值不能算出是否应该更新相框。 阅读全文
posted @ 2018-08-07 20:46 俺是小程 阅读(598) 评论(0) 推荐(1) 编辑