1.mode
考虑到出现的数超过n/2次,把每个数和新出现的数一一抵消
2.队爷的新书
排序后扫描端点,左端点cnt++,右端点更新ans,cnt–(优先左端点)
3.在n个区间中找最多的互不覆盖的区间
按右端点排序扫
4.n个小区间,求最少多少个小区间可覆盖完一个大区间
按左端点排序,在之后左端点小于它右端点的区间中选右端点最大的一个区间
5.n个点,m个区间覆盖,区间总长最小
参考牛棚问题,贪心.
6.天黑黑(考试题)
用栈模拟,A:i移到i-1,B:i-1值为i-1,i值的和
7.有一颗树,某些点为特殊点,将其分组,每个组有且仅有一个特殊点,求方案数(1017下午测试)
dp1:整个子树合法,dp2:只有根节点所在无特殊点,j是i的儿子
i是特殊点:
dp1[i]=dp1[j]+dp2[j];
dp2[i]=0;
i不是特殊点:
dp1[i]=dp1[j];
dp2[i]=dp1[j]+dp2[j];
8.判断小数串是否为给定数串的子序列
记录每个数字出现的位置,然后二分寻找大于小数串上一个数位置的本位数位置并记录。
9.解决问题
题意: 每到题: 难度ki解答用时ei, 在t时刻解决第i个问题, 损失ki*t分数, 求最少损失。
思路: 按题目对答案的贡献从小到大排序。
10.又是奶牛
按口感度降序排列牧草和奶牛,找满足条件的价格最少。
可以把牧草压到 multiset (类似于set,元素可重)中处理
补: 关于pair
11.物品问题
先最大可能地提单价 (操作二) ,到不能提之后提数量 (操作一) , 更新后判断是否可以继续提单价。