T1 problem 要堆一个雪人需要三个不同大小的雪球.现在有n个给定大小的雪球,问能堆起多少个雪人. ans 数量最多的球先用.比如 \(100,1,1,1,1\) .如果先取 \(1,1,1\) ,就只能堆一个,但是如果用了 \(100\) 中的一个,就可以堆两个.多的一定先用.所以只要统计+排序就可以了. T2 problem 超市打折.如果购物车里最少有一个凳子,则可以半价购买购物车里最便宜的物品.现在你要购买n个物品,其中一些是凳子.你有k个购物车,求一个最优的购物方案使得花费最少. ans 凳子的最大优惠只能是优惠他自己.因为假设一个购物车中凳子不是最贵的,那么只能优惠凳子.如果凳子是最贵的,结果只会更劣.所以把前 \(k-1\) 贵的凳子放进前 \(k-1\) 个购物车,剩下的全部装在一个购物车里. T3 problem 有n个罗汉,每个罗汉有重量w和力量s 定义一个罗汉的危险值为上面所有物品的重量值和减去他的力量.安排一个顺序使得危险值最大的罗汉危险值最小. ans 考虑邻项交换法得到一个结论.按照 \(w_i+s_i\) 从小到大的顺序排序结果最优. T3 problem [JSOI2007]基地里有n个建筑收到了严重的损伤,但只有一个维修工人.修复一个建筑需要 \(t_i\) 的时间,工人一次只能修一个,如果某个建筑在 \(b_i\) 时间里没有修好