G

传送门:
【G】

G

文章插图
题意:有n件商品,每件商品的利润为p_i,销售日期的截止时间为d_i(即只能在d_i时间前销售该物品) 。一天只能销售一件物品 。问这n件商品的最大利润为多少
思路:具体见代码和注释 。
代码:
#include#include#include#includeusing namespace std;const int N = 10010;int n, ans;int p[N];struct node{int p,d;}s[N];bool comp(node x,node y){return x.p>y.p;//按利润从高到低排序}int find(int x) {if(x != p[x]) p[x] = find(p[x]);return p[x];}int main() {while(scanf("%d",&n)!=EOF){for(int i=1;i<=n;i++) scanf("%d%d",&s[i].p,&s[i].d);for(int i=0;i