随笔分类 - 贪心
摘要:题意: 给你n个区间[li,ri],和一个整数k,你从每一个区间内选出来一个数,把从第i个区间内选出来数放在第i个位置,这样会构成一个长度为n的序列,你需要保证序列中任意两个相邻的数之差的绝对值要小于等于k 如果这样的序列存在就输出Yes和序列,否认输出No 题解: 就是前后两次贪心就可以了 先说一
阅读全文
摘要:题目链接:The Best Vacation 题意: 给你n个月份,每一个月份有di天。你可以呆在那里x天(x天要连续),如果你在某月的第y天呆在这。那么你的拥抱值就加y 1<=n<=2e5 1<=di<=1e6 题解: 首先这段日期的结尾一定是月末。下面证明 如果x<=max(d1,d2...dn
阅读全文
摘要:题目链接:C、Ehab and Prefix MEXs 题意; 有长度为n的数组a(下标从1开始),要求构造一个相同长度的数组b,使得b1,b2,....bi集合中没有出现过的最小的数是ai. mex函数表示不在集合中的那个最小的自然数 例如: mex(1,2,3)=0 mex(0,1,2)=3 m
阅读全文
摘要:题目链接:A、Johnny and Ancient Computer 题意: 给你两个数a,b。问你可不可以通过左移位运算或者右移位运算使得它们两个相等。可以的话输出操作次数,不可以输出-1 一次操作可以最多左移3次或者右移3次 题解: 首先找寻一下这两个数的二进制形式下最右边那个1在什么位置。然后
阅读全文
摘要:题意:E、Maximum Subsequence Value 题意: 给你n 个元素,你挑选k个元素,那么这个 k 集合的值为 ∑2i,其中,若集合内至少有 max(1,k−2)个数二进制下第 i 位为 1,则第 i 位有效,求一个集合可以得到的最大值。 题解: 应该是一种贪心 当k==3的时候,那
阅读全文
摘要:题目链接:A、Shovels and Swords 题意: 你需要一个木棍和两个钻石可以造出来一把剑 你需要两个木棍和一个钻石可以造出来一把铁锹 你现在有a个木棍,b个钻石,问你最多可以造出来几件东西 题解: 分两种情况,第一种: 如果max(a,b)>=2*min(a,b),那么最多可以造出来mi
阅读全文
摘要:题意: t组输入,你有n个数,还有k个朋友,每一个朋友需要wi个数。意思就是你要给第i个朋友分配wi个数,输入保证w1+w2+...+wk=n 一个朋友的兴奋值是你分配给他的数中最大值加上最小值的和(如果某个朋友只有一个数,那最小值和最大值都是一样的)。 题解: 首先对于只需求一个数的朋友,我们应该
阅读全文
摘要:题目: H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都, 也是树中的根节点。 H 国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境 城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境 城市的每一条
阅读全文
摘要:题意: 你有n个任务,每一个任务有一个完成所需时间AI,和一个截止时间BI。时间从0开始,如果完成任务的时间(设这个时间为ans)大于BI那么就会收到ans-BI的惩罚,问你完成所有这些任务你会收到的最大惩罚是多少。让你求这个惩罚的最小值 题解: 刚开始以为让找的是完成每一个任务所受惩罚的和的最小值
阅读全文
摘要:题意: 给你一个长度为n的数组,你可以对其中某个元素加上x或者减去x,这种操作你最多只能使用k次,让你输出操作后的数组,且保证这个数组所有元素的乘积尽可能小 题解: 在这之前我们要知道a*b>a*(b-x)>(a-x)*b 在a-x>0且b-x>0情况下 首先要讨论这n个元素中负数个数有多少个 1、
阅读全文
摘要:一、贪心引入: 最少硬币 有1、2、5、10、20、50、100七种面值的硬币,要支付指定的金额,问怎么支付所用的硬币个数最少。 这是一个非常日常化的问题,马上我们会想到,尽可能先用大面值的硬币,就能使支付的硬币尽可能少。这就是“贪心选择”。 二、贪心——线段覆盖 题目 描述 学校的小礼堂每天都会有
阅读全文
摘要:题目 题意: t组输入,之后一个n代表有n个班级。之后的n行,第一个数代表每班有多少人,第二个代表这个班级能够产生多少杯奶茶,每人只能喝一杯奶茶且不能喝自己班级制作的,问最多能有多少人能喝到奶茶 题解(贪心): 先找出来奶茶总数和学生总数,他们中的最小值就是(最多能喝到奶茶的人数) 当总人数小于奶茶
阅读全文