05 2020 档案
摘要:问题: 给定字符集和每个字符出现的频率,构造最优前缀码。 解析: 贪心构造最优前缀码,按照频率从小到大排序,最小两个字符频率相加后产生新的字符频率加入优先队列中,频率越小离树根越远。 设计(核心代码): 1 while (q.size() > 1) { 2 x = q.top(); 3 q.pop(
阅读全文
摘要:题意: 给出三个长度为n的正整数序列,一个区间[L,R]的价值定义为:三个序列中,这个区间的极差(最大值与最小值之差)的乘积。 求所有区间的价值之和。答案对232取模。 思路: 枚举右端点,设三个序列分别是a,b,c,线段树维护a,b,c,ab,ac,bc,abc的$max
阅读全文
摘要:问题: 有n项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时举行,问如何选择这些活动,从而使得被安排的活动数量达到最多。 解析: 如果我们选择开始时间最早的节目,得不到最优解 如果我们选择时间最短的节目,也无法得到最优解 可以用数学归纳法证明,我们的贪心策略应
阅读全文