随笔分类 - 刷题
摘要:题意:给你一个字符串,'T'代表2, 'W'代表1。 次询问,每次问你有没有一个区间和等于 ,有则输出一个区间,否则输出"NIE"。 我们观察只给1和2这两个值有什么用,如果我们知道 是有的,并且区间为 和 ,那么如果 或者 \
阅读全文
摘要:题意:有两个数组a和b,你可以花费 代价买1个球,也可以花费 代价买两个,也可以不买,每个i只能有一个操作。问买到恰好k个球的最小代价。 我目前见过的最复杂的反悔贪心。 我们贪心的想每次一个一个球的加,那么我们有四种加法: 从没有用过的i里用 代价买一个球。 从用
阅读全文
摘要:这题和 P1792 [国家集训队 种树] 差不多,可以看看我的博客 https://www.cnblogs.com/maburb/p/18664870 题意:有n个点,你要用k根线两两连接,线的长度就是他们的距离,问最小总长度是多少。 一个不可能越过中间一个点去和其他点连接,因为很明显这样距离更长,
阅读全文
摘要:题意:n个房子要修理,每个房子有修理时间和限制时间,如果在限制时间内房子没有修理好就报废了,问最多修理好几个房子。 我们贪心的先修限制时间小的,并用一个大根堆存修理时间,如果遇到一个房子修理不了,尝试和之前修理过的房子中修理时间最长的换,这样可以减少总时长,并且也合法,因为换了之后,被影响的那几个房
阅读全文
摘要:题意:给一个长度为n的环形数组,你要选m个数,满足没有任意两个数的位置相邻,求总和最大。 一开始没仔细看数据范围写了个dp暴力,想着枚举第1个点选还是不选两次dp取最大值。(属于痴心妄想) 后面自己也是看的题解。我们先贪心选最大的,那么它两边就不可以选了,但有可能选两边比选这个更好,那么我们就选两边
阅读全文
摘要:题意:给你一个区间[l, r], 你要在里面选三个数a, b, c, 使得两两异或值的和最大。 按位考虑,每一位最多被加两次(讨论一下所有情况就懂了),那么如果我们可以构造出来把能加两次的位都加两次,是不是就可以了? 首先对于l和r相同的前缀,我们选的数也一定是这个前缀,这是不能变的。那么我们找到l
阅读全文
摘要:题意,给你两个长度为n的数组a和b,你可以重新排列b,每次会让a的一个数加一或者让b的一个数加一,求最大的min(ai, bi)的连乘。 自己做卡了很久,思路想到了,但没想到他最后不需要模拟交换的,导致代码一直没写出来。 我们肯定要让最大的数和最大的匹配,次大和次大的匹配,依次按大小排名匹配,这样是
阅读全文
摘要:题意:一开始区间为[1, n],每次递归操作,如果区间长度<k则终止。如果当前区间长度为奇数,则加上mid,并递归[l, mid - 1] 和 [mid + 1, r];否则为偶数,则只进行递归[l, mid], [mid + 1, r]。 手搓几个样例发现是有点规律的。首先左右是对称的,左边加的数
阅读全文
摘要:题意:有n个工作可以做,它们有截止日期和价值,每个工作需要一天完成,你从0时刻开始做,求最大收益。 我们肯定希望尽早完成某个任务,那么我们一天也不能闲,一天做一个任务。 于是我们将工作按截止日期从小到大排序,如果第i个工作的截止日期小于等于我们做的任务数(任务数就等于我们做到的天数,因为我们一天做一
阅读全文
摘要:题意:2n个人排队上厕所,有两个厕所,一个男女都可以上,一个只有女的可以上,每个人上厕所都只有一分钟,你可以调整这些人的顺序,每个的怒气值为有多少后面的人排到自己前面了。求可以n分钟上完厕所的情况中,怒气最大的最小。 这题看半天没思路,只能看题解。 首先厕所一分钟都不能停,要么男女一起上两个厕所,要
阅读全文