zoukankan      html  css  js  c++  java
  • POJ-1456-Supermarket

    链接:https://vjudge.net/problem/POJ-1456#author=shleodai

    题意:

    超市里有N个商品. 第i个商品必须在保质期(第di天)之前卖掉, 若卖掉可让超市获得pi的利润. 
    每天只能卖一个商品.
    现在你要让超市获得最大的利润. 
    (原题说明过于抽象)

    思路:

    贪心加并查集,先将所有物品以价格排序。

    之后选物品时,先用并查集,往前查第一个没用过的天。

    同时将使用的天合并。

    代码:

    #include <iostream>
    #include <memory.h>
    #include <string>
    #include <istream>
    #include <sstream>
    #include <vector>
    #include <stack>
    #include <algorithm>
    #include <map>
    #include <queue>
    #include <math.h>
    using namespace std;
    const int MAXN = 10000+10;
    struct Node
    {
        int _value;
        int _day;
        bool operator < (const Node & that)const {
            return this->_value > that._value;
        }
    }node[MAXN];
    int Father[MAXN];
    
    int Get_F(int x)
    {
        if (Father[x] == -1)
            return x;
        Father[x] = Get_F(Father[x]);
        return Father[x];
    }
    
    int main()
    {
        int n;
        while (cin >> n)
        {
            memset(Father,-1, sizeof(Father));
            for (int i = 1;i<=n;i++)
                cin >> node[i]._value >> node[i]._day;
            sort(node+1,node+1+n);
            /*
            for (int i = 1;i<=n;i++)
                cout << node[i]._value << ' ' << node[i]._day << endl;
            */
            int sum = 0;
            for (int i = 1;i<=n;i++)
            {
                int td = Get_F(node[i]._day);
                if (td > 0)
                {
                    sum += node[i]._value;
                    Father[td] = td-1;
                }
            }
            cout << sum << endl;
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    document.getElementById IE bug
    Add Event
    start silverlight
    【转】MSDN magzine JavaScript使用面向对象的技术创建高级 Web 应用程序
    文本编辑工具Vim
    《JavaScript DOM编程艺术》附录(dom方法和属性)
    js variable undefined
    good tools 调试好帮手
    my pretty code
    万级访问网站前期的技术准备(下)
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10302983.html
Copyright © 2011-2022 走看看