题目大意 个物品,第 个有价值 ,选了第 个就要求选取物品总个数不超过 ,求最大价值和。 题解 物品按照 从大到小排序,然后枚举 ,用堆保留价值最大的 个物品即可。时间复杂度 。 #include <bits/stdc++.h> #define INF 2000000000 using namespace std; typedef long long ll; int read(){ int f = 1, x = 0; char c = getchar(); while(c < '0' || c > '9'){if(c == '-') f = -f; c = getch...