GESP编程共123题,本题是整站第1451题,已经有人完成了本题,加油!
小杨有 n 种武器和 m 种强化材料。第 i 种强化材料会适配第 pi 种武器,小杨可以花费 ci 金币将该材料对应的适配武器修改为任意武器。
小杨最喜欢第 1 种武器,因此他希望适配该武器的强化材料种类数严格大于其他的武器,请你帮小杨计算为了满足该条件最少需要花费多少金币。
第一行包含两个正整数 n,m,含义如题面所示。
之后 m 行,每行包含两个正整数 pi,ci,代表第 i 种强化材料的适配武器和修改花费。
输出一个整数,代表能够使适配第 1 种武器的强化材料种类数严格大于其他的武器最少需要花费的金币。
输入 #1
4 4 1 1 2 1 3 1 3 2
输出 #1
1
花费 1,将第三种强化材料的适配武器由 3 改为 1。此时,武器 1 有 2 种强化材料适配,武器 2 和武器 3 都各有 1 种强化材料适配,满足适配第 1 种武器的强化材料种类数严格大于其他的武器。
对于 100% 的数据,保证 1≤n,m≤1000,1≤pi≤n,1≤ci≤10^9。
子任务编号 | 得分占比 | n | m |
---|---|---|---|
1 | 20% | ≤2 | ≤1000 |
2 | 20% | ≤1000 | ≤2 |
3 | 60% | ≤1000 | ≤1000 |
【考纲知识点】贪心
【解析】n = 2的20%数据,分别统计两种武器适配的材料数量,如果适配第1种武器的材料数量不大于第2种武器,则将适配第2种武器的材料按照修改花费从小到大依次修改,直到第1种武器适配的材料数量更多;
m = 2的20%数据,此时只有两种材料,将其中不适配第1种武器的材料修改,计算花费;
满分做法:
统计每种武器当前适配的材料数量。
计算将非第1种武器的材料转换为第1种武器所需的最小成本,使得第1种武器的材料数量达到或超过某个目标值 aim。
尝试所有可能的目标值 aim(从当前第1种武器的材料数量到总材料数),并选择其中花费最少的方案。
参考程序
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。