摘要: 题目比较水,但是为了给我的tag加点量就水一篇题解 这题一个暴力的贪心就是按照利润排序,然后对于大的利润去找能满足条件的最晚的一天 这样的复杂度比较高,找的过程可以可以用set自带的二分去做,这样就是nlogn了 #include<bits/stdc++.h> using namespace std 阅读全文
posted @ 2021-02-09 22:50 朝暮不思 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 这题奇数部分比较容易想到,用优先队列维护每个位置前能否取到指定个数,这样枚举每个位置座位中位数即可 对于偶数,由于两个数位置不确定,并且不能枚举两个,因此还是考虑要维护一个 这样就需要一个log复杂度以内的算法找到每个对应的最优解,常见的就是二分算法 我们观察题目性质,果然符合单调性,因为对于左边定 阅读全文
posted @ 2021-02-09 22:17 朝暮不思 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 我们观察到只有查询操作。 这个查询可以通过线段树来实现,因为可以通过维护最大最小值来维护差值最大值,因为是一个星期,所以容易相当答案是关于周期循环的,因此建立七棵线段树。 恶心的是有两个方向,因此我们要建十四棵线段树维护 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2021-02-09 20:02 朝暮不思 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 复健牛客每日一题系列 这题的dp感觉很浓,因为数据范围给的很像dp 刚开始我被能多次操作困惑了,以为是什么巧妙的贪心 但是其实多次能拿,一次也能拿,我们可以通过放的位置控制在m之内 因此这题是一道背包dp,因为每个物品都有三种选择,左边右边或者不放,而第二维状态可以表示为两边的差值 这题会产生负的, 阅读全文
posted @ 2021-02-09 11:16 朝暮不思 阅读(132) 评论(0) 推荐(0) 编辑